【问题标题】:MVP Winform Solution/Project file LayoutMVP Winform 解决方案/项目文件布局
【发布时间】: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 而不是整个应用程序。
  • 无论它是否是“模块”,从代码的角度来看,无论命名空间位于何处(项目内部或外部),您都在使用命名空间。

标签: c# winforms mvp


【解决方案1】:

您的解决方案看起来不错。不过,我想提醒您的一件事是,沿着这条路走下去,您似乎将拥有由其他用户控件组成的复合用户控件。

在 WinForms 中,在这种情况下会出现严重的闪烁问题,您必须进行一些调整以使应用程序不会显得迟缓。查看this 问题以帮助您解决问题。

【讨论】:

  • 是 - 将使用复合用户控件。从来没有想过闪烁。
  • @BTI-Doug 这很糟糕,直到我实施了修复程序。现在是合理的。
  • 我猜还有 1 个后续行动。我用一个 m、v 和 p 设置了一个简单的 mvp 主管测试。我想我应该询问主管控制器的位置以及与模块相关的实际视图和演示者。
  • 您的展示位置很好。我现在就开始编码,不会花太多时间在布局上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2015-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多