c# - 如何使用 MVP 模式在 Winforms 中构建项目?

标签 c# .net winforms mvp projects-and-solutions

<分区>

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

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

我是否应该使用与 ASP.NET MVC 中相同的约定,例如在项目中为模型、Presenters 和 View 创建单独的文件夹,然后可能使用 Presenter 类的命名约定,以便它们的名称以单词“Presenter”结尾(同样的方式MVC 中 Controller 的名称以“Controller”结尾)

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

最佳答案

老实说,这是一个非常主观的问题。我今天这样做的方式可能不是我为下一个应用程序做的方式。它对我来说效果很好。此外,对我有用的方法可能与其他人不同——并不是说我的方法是错误的、更好的或更坏的。

命名约定将有助于:

  • PersonPresenter
  • PersonViewModel(如果数据读/写到数据存储)
  • 人物 View
  • IPersonView

此外,我将当前的解决方案分为 3 个项目:

  • 应用程序本身 - 该项目中唯一的类是 Program.cs
  • 演示模型:演示器、 View 界面、 View 模型(如果适用);全部在按各自 View 组织的文件夹中
  • Views:一个只为views而生的项目

现在,我唯一需要为单元测试引用的解决方案是 PresentationModels 项目。

关于c# - 如何使用 MVP 模式在 Winforms 中构建项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321074/

相关文章:

c# - .NET Core - 在 C# 代码中获取项目描述

c# - wpf InteropBitmap 到位图

c# - 错误 : Inconsistent accessibility: return type is less accessible than method '

C# - 查找坐标以将线延长一定公里数

c# - Aforge.Video库的MJPEGStream函数示例

c# - 调用 `Environment.GetEnvironmentVariable`影响后续调用

C# 字符串重复问题

c# - C# winform 上的交互式谷歌地图

c# - TableLayoutPanel 中的 RowStyles 和 Rows 不匹配?

c# - 属性 setter 中的 StackOverflowException