2

在具有许多不同组件的单一表单应用程序中管理代码的最佳方法是什么?例如,考虑一个具有产品选择器的金融应用程序,用于浏览/选择要查看的产品;一些价格、利率或其他的实时代码;滚动新闻提要;各种图表;显示本地计算值的网格;等等

您是否会为每个不同的组件创建一个自定义控件,即使它们不会在此应用程序之外使用?或者你可以用实现每个组件的逻辑并以某种方式更新gui中的实际控制的类来做到这一点?两个组件可能需要相互交互,例如,您单击网格中的一个单元格,它会显示一些图表(主窗体会处理发送消息吗?)

我有让表单代码在添加功能时变得臃肿的习惯,我真的很想熟悉一种更好的方法。我正在使用 c#(不使用 WPF),但我想基本的设计原则不一定是特定于语言的。

4

4 回答 4

1

见 - Martin Fowler 的Gui Architectures

于 2009-06-04T17:46:36.790 回答
1

你可以试试MVP模式

于 2009-06-04T17:41:25.987 回答
0

这在一定程度上取决于应用程序规模有多大,以及应用程序的生命周期。

在几乎任何大小合理的应用程序中,我都建议将各个部分分成单独的 UserComponents。话虽如此,还有很多方法可以超越这一点,包括使用插件/DI 等。

我建议阅读(或至少略读)复合客户端应用程序指南以获取想法。详细讨论了消息传递问题以及有关将各个组件连接在一起的不同方法的问题。

即使您没有使用 WPF 或 Silverlight,也有许多与Composite Client Appilcation Guidance相关的宝石。指南中的许多部分都不是特定于技术的 - 它们更多地涉及如何将多个部分组合在一起,促进设计中的可重用性和灵活性等。无论您使用什么技术,这些都适用。

于 2009-06-04T17:42:46.390 回答
0

我倾向于将所有事情都作为自定义控件来做,他们使用面板来放置我的位置。然后我创建一个新的控件实例并将其添加到面板中。

这允许我做自定义构造函数,当我尝试在我当前的项目中使用 DI/IOC 框架时,我发现它更有用。

于 2009-06-04T19:01:39.120 回答