【问题标题】:Design patterns behind UI application (any book?)UI 应用程序背后的设计模式(任何书?)
【发布时间】:2013-11-27 18:26:54
【问题描述】:

我想知道人们使用什么设计模式来构建复杂的 UI 或类似 UI 的应用程序?

让我们考虑一个由数千个小部件组成的 UI,一旦一个小部件改变了它的状态,它就会向合作伙伴(可能是一百个)广播一个事件以相应地更新他们的状态。当小部件状态改变时,它的视图也会改变。但是,必须有一些地方放置业务逻辑,从 GoF 设计模式来看,它应该是 Mediator。但是我不知道人们在现实世界中是如何做到的。

我了解 GoF 模式、MVC 模式、事件/消息系统、双向数据绑定。我没有编写任何 UI 应用程序,但 UI(例如 Java intellij IDE)应用程序解决的问题非常有趣。它管理许多小部件(小部件)并根据小部件的状态更改其行为。我正在寻找如何以可维护的方式编写这样一个系统的代码。对我来说,这种系统中的命令方式不起作用,必须有一些声明模式。

非常感谢有人能指出一些好的读物。谢谢。

【问题讨论】:

  • How to code such a system in a maintainable way - 你基本上是在寻找MVVM。对我来说幸运的是,WPF(它是 .Net 的一部分)支持这一点。我不知道有任何 Java 东西可以支持 WPF 提供的 MVVM 级别。
  • Yepp MVVM 比 MVC 更有意义。

标签: algorithm design-patterns user-interface


【解决方案1】:

我会推荐你​​Design Patterns: Elements of Reusable Object-Oriented Software。不同的章节涉及创造模式、结构模式和行为模式。 模式使用示例由高级文本编辑器(包括 ui)开发组成。

【讨论】:

  • 只是想自己推荐一下。那里的所有模式都在 GUI 应用程序上进行了解释。
  • OP已经提到了GoF,甚至是中介者模式。
  • 参考的“附加”价值只是在模块化/清洁/可重用/可维护的GUI项目开发中的模式使用示例。
  • 是的。我很久以前读过GoF。太棒了,绝对。现在我在看一些解释复杂系统的书
  • 您还有另一个有趣的解决方案:阅读代码! Netbeans 和 Eclipse 是开源项目,我几乎可以肯定(如果你读得好这本书)你会遇到 Gof 书中公开的许多模式。 (这个问题可能超出你的需要,但确实很有趣stackoverflow.com/questions/1673841/…
【解决方案2】:

对于企业应用程序,您必须查看Martin Fowler。 在他的网站上,您可以找到很多书籍、范例和设计模式。

【讨论】:

  • 是的。我读过马丁的一些书,并在我的项目中进行了实践。但是,《企业应用模式》这本书似乎没有我想象的那么有价值,可能很多文章都介绍了很多模式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 2010-11-09
  • 1970-01-01
相关资源
最近更新 更多