我正在寻找与编码GUI部分有关的模式.不像MVC那样全球化,我非常熟悉,但有关单一控制和输入的模式,好的想法和最佳实践.
假设我想制作一个显示可能重叠的对象的控件.现在,如果我点击一个对象,我需要找出该做什么(只是找到我可以用几种方式做的对象,比如四叉树和Z顺序,这不是问题).而且我也可以按住修改键,或者某个对象从一开始就处于活动状态,使选择或任何更复杂.我应该有一个表示屏幕对象的对象实例,在单击时处理用户操作,还是主类.等等.这样的问题有哪些模式或解决方案?
我认为老实说,你可以更好地了解标准设计模式,并将它们应用到您在开发UI时遇到的各个问题.
虽然存在常见的UI"主题"(例如处理修饰键),但实际实现可能会有很大差异.
我有O'Reilly的Head First Design Patterns和The Poster,我发现它非常宝贵!
Cay Horstmann的面向对象设计和模式有一章题为"模式和GUI编程".在该章中,霍斯特曼涉及以下模式:
观察者布局管理者和
战略模式组件,
容器和复合模式
滚动条和装饰图案