【发布时间】:2012-12-31 01:39:17
【问题描述】:
有人可以帮我为 Winforms MVP 多项目解决方案定义物理文件布局吗?
有很多帖子涉及如何设置视图、界面等……MVP 的工作原理。我明白了。许多帖子还说项目的物理布局非常主观,可以根据个人喜好进行。
好吧,我没有偏好、经验或历史。我正在尝试为当前和未来的 MVP Winform 项目简单地构建一个“模板”解决方案。我正在寻找有关布置解决方案、项目、文件夹等文件的指导。
我所有的 MVP 解决方案都将包括以下内容:
- 带有主 Winform 的解决方案本身
- 一个“模块”文件夹,其中包含解决方案的各种模块(ap、po、ar、库存等)的项目
- 一个“助手”类库项目,它只包含我的一些方法、例程等,用于执行常见任务
- 一个业务逻辑类库项目,包含所有 BL
- 处理所有数据访问例程的数据访问逻辑类库项目 - 主要使用实体框架模型
主 Winform 将从各个模块调用用户控件,因此一切都是可重复和可移植的。如果使用 Supervisor 模型或 Passive 模型等,保留接口、控制器的最佳位置在哪里?
【问题讨论】:
-
如果可以,请考虑以后不要使用 winforms。考虑 WPF、Silverlight 或 ASP.NET(我假设您想坚持使用 .NET 堆栈)。
-
是的 - 肯定会坚持使用 .NET ...我现在对 Win 和 Web 表单最满意,所以这些是必须的。我的大部分编码都是针对我们的用户在连接到 Sql Server 2008 时在网络上使用的内部应用程序。可能有一些 Webform 衍生产品,但主要是 Winforms。
-
要记住的一点是,文件夹用于组织,项目用于创建程序集。简单是一种美德。仔细考虑您希望在每个版本中部署多少程序集。我知道你可以 IL 合并,但如果你不需要为什么要麻烦。如果你决定创建单独的程序集,我会按功能而不是结构来组织。
-
只是认为针对“模块”进行开发更容易,并且只部署那些 .dll 而不是整个应用程序。
-
无论它是否是“模块”,从代码的角度来看,无论命名空间位于何处(项目内部或外部),您都在使用命名空间。