And*_*lov 5 .net c# architecture user-interface winforms
我正在寻找复杂的UI逻辑实现的最佳实践.我正在开发一个Windows窗体应用程序,但我相信在任何平台上都应该有解决这个问题的通用模式.
我的表单上有很多控件,有列表,按钮,表格和树形视图.因此,我们的想法是,根据"上下文",某些控件已启用,而其他控件则被禁用.其中一些可以暂时提供一些功能,而另一些则不提供.
目前它"按原样"实施.我处理事件,检查更改(选择了新树节点,选择了几个节点等),然后决定是否需要禁用或启用某些控件.我真的不喜欢这种方法,因为Form代码看起来很复杂.如果我需要添加更多逻辑,它会变得更加复杂.我真的很担心,因为我们非常敏捷,新功能或许多变化是日常规范.
我很想将所有这些逻辑分成几部分(功能),其中每个功能都是一个知道如何检查其状态的对象,并根据此状态启用或禁用相关控件.
真的不想发明任何新东西,并试图找到任何广泛使用的好主意.请不要推荐单一的UpdateUI()方法,我相信从长远来看不会改变任何东西.
谢谢.
这个博客系列可能是您正在寻找的:
http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/
(可能看起来像很多材料,但是从"Humble Dialog box"开始,基于Michael Feathers的伟大文章).这就是"如何将您的逻辑与UI代码分开",这可以解决您的大部分问题.