He sido programador de Python desde hace más de 7 años, y he estado diseñando con PyQt durante más de 3 años ... Pero no soy un Comp Sci de formación clásica. mayor. Más recientemente he estado aprendiendo Go y he estado siguiendo activamente el Golang-nuts discussion list que está lleno de desarrolladores extremadamente inteligentes. De este grupo de discusión, he visto muchas referencias a patrones de diseño de software, como Observer, Reactor, etc. De nuevo porque no soy un especialista en CS, nunca aprendí realmente toda esta terminología y teoría, pero me hizo preguntarme ...¿Qué patrones de diseño de software presentan los marcos comunes de GUI?
¿Qué patrones de diseño presentan marcos comunes de GUI como Qt, wx, GTK?
Tengo la sensación de que es una mezcla de patrones para diferentes componentes, como el bucle de eventos frente a señales/ranuras o vinculante frente a la observación de valores clave, y así sucesivamente. Me encantaría escuchar una explicación o generalización sobre cómo estos patrones de software se relacionan con los componentes tradicionales de estos marcos.
Como un pequeño elemento secundario a esta pregunta: ¿Hay marcos de GUI que intenten y adopten un enfoque de patrón completamente diferente para una solución GUI? ¿Cocoa/objective-c usa los mismos patrones de bucle de eventos que estos otros?
actualización
para ayudar a reducir el foco de mi pregunta, y en base a la respuesta por @HDDimon, me pregunto principalmente sobre Patrones de Comportamiento (comunicación):
http://en.wikipedia.org/wiki/Design_Patterns#Behavioral_patterns
Muchas gracias por esta información. Estoy muy familiarizado con MVC ya que también es bastante común en otros frameworks. Definitivamente verificare sus referencias. Pero, también esperaba que alguien enfocara su respuesta más específicamente en los populares marcos de GUI y sus métodos de comunicación. El bucle de eventos, señales de ranuras, kvo, mensajes/eventos, etc. Obviamente, pude leer un libro sobre patrones generales de diseño, pero quería escuchar ejemplos directos y específicos de estos marcos de GUI. ¿Alguna información extra? – jdi