【发布时间】:2013-05-07 01:07:49
【问题描述】:
曾几何时,我编写了一段代码,随着时间的推移,它开始有味道。它没有以易于测试的方式编码。每个子窗口都与以数据库为中心的 Microsoft 控件(如 BindingNavigator 等)紧密耦合。但是有一天,我厌倦了自己的代码,因为它不可重用、不可测试或不可理解(即使是我自己)。
在阅读了将表示与业务逻辑和数据库访问/持久性分开的更好方法之后,我想到了第一个重大变化。然后,我可以为我的子表单调用演示者,比如说“MainForm”。
现在,我有一堆演示者、视图、存储库、模型和接口,我想将它们组织成一个“标准”项目结构(即业务、模型、UI、测试等项目)。有人可以公开这样的结构吗?如果可能的话,可以公开他们在每个结构中使用的示例文件夹吗?
另外,我应该只使用一个“MainPresenter”吗?或者最好为我将使用的每个子表单设置一个,例如:
var searchReceivalPresenter = new SearchReceivalsPresenter(
new SearchReceivalsForm { MdiParent = this }, new SearchReceivalsRepository());
我认为我应该保留几个演示者。
提前致谢,
【问题讨论】:
标签: c# .net winforms design-patterns mvp