我已经是一个超过7年的python程序员,并且已经用PyQt进行了3年以上的设计......但我不是经过训练的Comp Sci。重大的。最近我一直在学习Go,并一直在积极地跟着Golang-nuts discussion list这充满了非常聪明的开发人员。在这个讨论小组中,我看到了很多对软件设计模式的引用,例如Observer,Reactor等。再一次,因为我不是CS专业,我从来没有真正学过这个术语和理论,但它让我惊讶。哪些软件设计模式可以执行常见的GUI框架?
什么样的设计模式可以完成像Qt,wx,GTK等常见的GUI框架?
我有一种感觉,就像它的混合模式的不同组件,如事件循环与信号/插槽或绑定与键值观察等。我很想听到关于这些软件模式如何映射到这些框架的传统组件的解释或概括。
作为这个问题的一个次要元素:是否有GUI框架尝试并采用完全不同的模式方法来实现GUI解决方案? Cocoa/objective-c是否使用与其他的相同的事件循环模式?
更新
为了进一步缩小我的问题的重点,并根据通过@HDDimon答案,我主要是想知道行为模式(通信):
http://en.wikipedia.org/wiki/Design_Patterns#Behavioral_patterns
非常感谢此信息。我对MVC非常熟悉,因为它对其他框架也很常见。我一定会检查你的参考。但是,我也希望有人会更专注于流行的GUI框架及其通信方法。事件循环,信号插槽,kvo,消息/事件传递等等。我当然可以阅读一本关于一般设计模式的书,但我想听到这些GUI框架的直接和特定的例子。任何额外的信息? – jdi 2012-05-15 16:58:12