Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 常见的GUI框架展示了哪些软件设计模式?_Design Patterns_User Interface_Frameworks - Fatal编程技术网

Design patterns 常见的GUI框架展示了哪些软件设计模式?

Design patterns 常见的GUI框架展示了哪些软件设计模式?,design-patterns,user-interface,frameworks,Design Patterns,User Interface,Frameworks,我已经做了7年以上的python程序员,并且用PyQt设计了3年以上。。。但我不是一个受过正规训练的商科医生。专业最近,我一直在学习并积极地关注着这个充满了非常聪明的开发人员的网站。从这个讨论组中,我看到了很多关于软件设计模式的参考,比如Observer、Reactor等。因为我不是计算机科学专业的学生,我从来没有真正学习过所有这些术语和理论,但这让我想知道 像Qt、wx、GTK这样的通用GUI框架展示了哪些设计模式? 我感觉它是不同组件的混合模式,比如事件循环与信号/插槽或绑定与键值观察,等等

我已经做了7年以上的python程序员,并且用PyQt设计了3年以上。。。但我不是一个受过正规训练的商科医生。专业最近,我一直在学习并积极地关注着这个充满了非常聪明的开发人员的网站。从这个讨论组中,我看到了很多关于软件设计模式的参考,比如Observer、Reactor等。因为我不是计算机科学专业的学生,我从来没有真正学习过所有这些术语和理论,但这让我想知道

像Qt、wx、GTK这样的通用GUI框架展示了哪些设计模式?

我感觉它是不同组件的混合模式,比如事件循环与信号/插槽或绑定与键值观察,等等。我很想听到关于这些软件模式如何映射到这些框架的传统组件的解释或概括

作为这个问题的次要部分:是否有GUI框架尝试对GUI解决方案采用完全不同的模式方法?Cocoa/objective-c使用的事件循环模式是否与其他模式相同

更新
为了缩小我问题的重点,根据@HDDimon的回答,我主要想知道行为模式(沟通):

早安。我想你会在马丁·福勒的文章中找到最好的答案

从这篇文章中:

模型视图控制器在UI开发中,引用最广泛的模式可能是模型视图控制器(MVC)——它也是最流行的模式 引用错误。我已经记不清我见过多少次描述的东西了 作为MVC,结果一点也不像。坦白地说,很多 原因是经典MVC的某些部分没有真正意义 如今,对于富有的客户来说。但是现在我们来看看 它的起源

是MVC的核心,对后来的框架影响最大的思想是我所说的分离式演示。这个 分开展示背后的想法是明确划分 在模拟我们对现实世界感知的领域对象之间, 和表示对象,它们是我们在 屏幕。域对象应该是完全自包含的,并且可以工作 在不参考演示文稿的情况下,他们也应该能够 支持多个演示文稿,可能同时进行。这种方法 也是Unix文化的重要组成部分,并一直延续到今天 允许许多应用程序通过图形和 和命令行界面

根据本文,在任何类型的组件之间划分的最佳模式类型是结构模式

来自“四人帮”:埃里希·伽马、理查德·赫尔姆、拉尔夫·约翰逊、约翰·弗利西斯。(我真的想推荐你读这本很棒的书)

  • 结构模式:
    • 适配器
    • 复合材料
    • 装饰师
    • 门面
    • 飞锤
    • 代理
但在任何类型的框架中,您都可以看到多种模式的混合:创造模式、结构模式、行为模式

我从设计模式书中找到了一本,它可能对日常使用有所帮助

UPD:很好,添加了。

我发现谷歌是一个完美的GUI指南,包括符合一般结构模式的设计约束和原则


请同时查找这些与行为模式相关的信息,这些信息非常有用。

非常感谢您提供这些信息。我非常熟悉MVC,因为它对其他框架也很常见。我一定会查一下你的推荐信。但是,我也希望有人能把他们的答案更具体地放在流行的GUI框架和它们的通信方法上。事件循环、信号槽、kvo、消息/事件传递等等。我显然可以读一本关于一般设计模式的书,但我想听听这些GUI框架的直接和具体的示例。有什么额外的信息吗?谢谢你的回答,但我认为这是与我的问题相关的错误模式。这些设计模式更像是UX风格的描述。我问的是关于Comp Sci的事。设置编程模式的样式,例如观察者模式。不是在复选框上加冠子的模式,这对用户交互意味着什么当我发现你的问题时,我正在寻找相同类型的信息。仍然没有发现任何关于构造GUI项目代码的内容,类似于四人帮的模式,但专门针对GUI(除了一些模式)。你觉得这个话题有什么基本的东西吗?