2012-04-25 113 views
6

我打算用Winform创建应用程序,我想使用MVP模式。如何使用MVP模式在Winforms中构建项目?

因为我以前从未使用MVP模式,所以我不确定如何构建新项目。

我应该如何在ASP.NET MVC中使用相同的约定,例如在模型,演示者和视图中为项目创建单独的文件夹,然后可能使用Presenter类的命名约定,以便它们的名称以单词“Presenter”结束MVC中控制器的名称以“Controller”结尾)

或者我应该为Presenter和Model创建单独的项目?

+0

这将取决于很多因素......使用您认为有用的约定。名字总是可以在后期重构。 – Patrick 2012-04-25 18:14:29

+2

您不一定需要为模型和演示者创建单独的项目,但强烈建议使用它。命名约定只是*约定*,这意味着它不直接影响事物的工作方式,但它是非常有用的。一些框架(例如ASP.NET MVC或rails)将根据其遵循的约定以某种方式运行,但是没有任何东西阻止您定义自己的约定(并对其进行编码)。 这是关于[MVP] [1]的一个很好的阅读[1] [1]:http://msdn.microsoft.com/en-us/magazine/cc188690.aspx – MilkyWayJoe 2012-04-25 18:26:37

回答

2

老实说,这是一个非常主观的问题。我今天这样做的方式可能不是我为下一个应用程序执行此操作的方式。它对我来说很简单。而且,对我而言有效的方式可能不是其他任何人都会这样做的方式 - 不是我的错误,更好或更糟。

命名约定将帮助:

  • PersonPresenter
  • PersonViewModel(如果数据读/写数据存储)
  • PersonView
  • IPersonView

而且,我已经分居我目前的解决方案分为3个项目:

  • 应用程序本身 - 该项目中唯一的类是Program.cs
  • 演示模型:演示者,视图界面,​​视图模型(如果适用);全部由各自的观点
  • 浏览文件夹组织:一个项目只是意见

现在,我需要进行单元测试参考解决方案的唯一的一块是PresentationModels项目。