从多个MVP应用程序组成一个MVP应用程序

本文关键字:应用程序 MVP 一个 | 更新日期: 2023-09-27 18:01:59

我用c#编写了两个独立的winforms应用程序,其中我使用了MVP。现在我要把它们合并成一个应用程序(也是MVP),它具有两者的功能,但有一个新的视图前端。

什么是最佳实践:

  • 做一个超级演讲者,把每个人的演讲者结合起来应用程序,或
  • 制作一个将两者结合的超级模特(!)模型转换成一个模型,然后编写一个超级演示器。

两者的优点/缺点是什么?我的方向对吗?

从多个MVP应用程序组成一个MVP应用程序

您应该将模型放在一边,并专注于创建具有组合功能的新表示器和视图。从你问题中的信息来看,项目的重点不是模型缺少某些元素,而是它们需要一起工作。演讲者的作用就是让这一切无缝地发生。

您将运行的最有可能的问题是关于进入模型的演示者的任何假设。当一个模型被开发为使用一个表示者(带有关联视图)时,保持分离是很困难的。通过创建一个新的演示器,您将很快看到这些假设是否存在,这些假设有助于维护原始软件和新软件的未来版本。

除了这个问题,这应该是一个相对简单的项目,因为它发挥了MVP的优势。开发人员更改一个或多个级别而不影响其他级别的能力。

除非存在您试图删除的重复,否则您的模型应该易于组合。

在我看来,模型不应该因为应用程序的重构而经常改变。只有当底层业务发生变化时,它们才应该改变。