简单的桌面GUI架构

时间:2011-04-13 20:39:28

标签: user-interface architecture

以前在设计桌面应用程序时,我总是发现很难为不同的窗口构建一个干净的方式来相互通信。

例如:一个设置/选项对话框窗口,用于修改主窗口的行为。

是否会使我的“主要”(例如,一次只能看到一个窗口的一个实例)单身人士是个好主意?既然一直只应该有一个呢?

这将使单独的窗口更容易,更清洁。

如果以上情况属实,那么我可以为其他窗口添加一个类似Facade的方法来实现干净的界面。

例如: MainWindow.setFont(字体f);

感谢您的任何意见。

2 个答案:

答案 0 :(得分:3)

关于这个主题的好读物是来自Martin Fowler的GUI Architectures,它涵盖了各种设计模式。例如,Observer Synchronization模式可能在引用文章的上下文中适用于您。

如果可以,我建议您坚持使用一些众所周知的框架,因为编写自己的框架可能是一项艰巨的任务。

答案 1 :(得分:0)

这是Qt正确的事情之一。如果你想与一个窗口通信发送一个信号 - 然后窗口可以处理接收信号,发送者不需要关心它是否存在。