如何在Winforms项目中使用MVP模式构建项目结构?

6

我打算使用Winform构建应用程序,希望使用MVP模式。

由于我从未使用过MVP模式,不确定如何构建新项目的结构。

我应该像在ASP.NET MVC中一样使用相同的约定,为模型、Presenter和视图创建单独的文件夹,然后使用Presenter类的命名约定,使它们的名称以“Presenter”单词结尾(与MVC中控制器的名称以“Controller”结尾的方式相同)吗?

还是应该为Presenter和Model创建单独的项目?


这将取决于许多因素...使用您认为有用的约定。名称始终可以在以后的阶段进行重构。 - Patrick
2
您不一定需要为模型和Presenter创建单独的项目,但强烈建议这样做。命名约定只是约定,这意味着它不会直接影响事物的工作方式,但它非常有用。一些框架(例如ASP.NET MVC或rails)将根据其遵循的约定以某种方式运行,但您可以自定义约定(并编写代码)。在此处阅读有关MVP的文章 - MilkyWayJoe
1个回答

2
老实说,这是一个非常主观的问题。我今天所做的方式可能不是我为下一个应用程序所做的方式。它只是适合我。而且,适合我可能不是任何其他人所做的方式 - 并不是我的方式有错、更好或更差。
命名约定会有所帮助:
- PersonPresenter - PersonViewModel(如果数据读/写到数据存储) - PersonView - IPersonView
此外,我将当前的解决方案分成三个项目:
- 应用程序本身 - 该项目中唯一的类是Program.cs - 演示模型:presenter、视图接口、视图模型(如果适用);所有这些都在按其相应视图组织的文件夹中。 - 视图:一个专门用于视图的项目
现在,我需要引用的解决方案部分仅为PresentationModels项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接