你知道GUI编程的任何模式吗? (不是设计GUI的模式)

我正在寻找涉及GUI编码部分的模式。 不像我熟悉的MVC那样全球化,而是关于单一控制和投入的模式,好想法和最佳实践。

假设我想制作一个显示可能重叠的对象的控件。 现在,如果我点击一个对象,我需要找出该做什么(只需找到我可以通过多种方式执行的对象,例如四叉树和Z顺序,那不是问题)。 而且我也可能会按住一个修饰键,或者一些对象从一开始就处于活动状态,进行选择或者更复杂一点。 我应该有一个表示屏幕对象的对象实例,单击时处理用户操作或主类。 等等。对于这样的问题,有什么样的模式或解决方案?


我认为老实说,你应该更好地利用标准设计模式,并将其应用于开发用户界面时遇到的各种问题。

虽然有一些常见的用户界面“主题”(如处理修饰键),但实际的实现可能差异很大。

我有O'Reilly的头部设计模式和海报,我发现它非常宝贵!

无耻的插件:这些链接正在使用我的同事ID。


Cay Horstmann的面向对象设计和模式有一章标题为“模式和GUI编程”。 在那一章中,霍斯特曼涉及以下模式:

  • 观察员布局经理和
  • 策略模式组件,
  • 容器和复合模式
  • 滚动条和装饰模式

  • 我不认为设计模式的好处来自于试图找到适合问题的设计模式。 但是,您可以使用一些启发式方法来帮助清理您的设计,例如使UI尽可能与系统中其他对象分离。

    在这种情况下,有一种模式可能有助于观察者模式。

    链接地址: http://www.djcxy.com/p/8819.html

    上一篇: Do you know any patterns for GUI programming? (Not patterns on designing GUIs)

    下一篇: Copying triangular image region with PIL