组织GUI代码

jer*_*lan 10 user-interface code-organization

我的问题有两个部分:

  • 有没有人对网上有关如何编写易于阅读,编写和维护的GUI代码的文档有任何提示或参考?

    例.

    我发现我的GUI表单越广泛,我最终得到了一长串相当短的事件处理程序方法.如果我尝试添加任何私有帮助器方法,他们只是在随机播放中丢失,我不得不在页面上滚动以遵循一条思路.


  • 如何轻松管理整个应用程序的设置?

    例.

    如果用户在下拉列表中选择了一个新项目,我可能需要在GUI上启用一些组件,更新应用程序配置文件,并将新值存储在本地变量中以供日后使用.我通常选择不为所有设置创建事件处理程序(见上文),最后使用"LoadGUISettings"和"SaveGUISettings"之类的方法,但最后我最终在我的代码中调用这些方法,并且它经历了很多次代码只是为了更新很少的实际更改(如果有的话).

谢谢!

Ama*_*a S 6

从面向对象的角度来看第一个问题的一些指导原则:

  • 将大班分成小班. 该面板是否有一堆相当模块化的子面板?为每个子面板创建一个较小的类,然后让另一个更高级的类将它们放在一起.
  • 减少重复. 你有两棵共享功能的树吗?做一个超类!您的所有事件处理程序都在做类似的事情吗?创建一个他们都打电话的方法!

第二个问题.我看到两种方法:

  • 听众. 如果许多组件应响应一个组件中发生的更改,请让该组件触发事件.
  • 全局变量.如果许多组件正在读取和写入相同的数据,请将其设置为全局(但您可以使用所选语言执行此操作).为了获得额外的实用性,请结合使用这两种方法,让组件监听全局数据对象中的更改.


Ree*_*sey 3

如果您正在使用 WPF,您可能需要阅读WPF 复合应用程序指南

它讨论了其中许多主题(以及许多其他主题)。该指南的主要目标是以灵活、可维护的方式构建大规模应用程序。