模型-视图-演示者框架:接口应该驻留在哪个项目中

本文关键字:项目 接口 视图 框架 模型 | 更新日期: 2023-09-27 18:16:49

我正在尝试MVP设计框架,目前我的解决方案如下:

项目:模型包含:具体对象类,DataRetrieval类,IDataRetrieval接口

项目:主持人包含:Presenter类,IView接口

项目:视图包含:视图类,程序类

当我可以的时候,我一直在重新审视这个解决方案,但是现在我不记得为什么我要按照它们的方式分发接口了。这似乎不对。我尝试了以下操作:

  1. 将类的接口移到相关的项目中实施。
  2. 将两个接口移动到presenter类。

做出这些改变都需要一点工作,所以我只是想知道是否其中一个答案比另一个更好(或者可能两个答案都非常,非常错误:))

如果重要的话,这是用c#设计的。

我想听听你的意见!

安迪

模型-视图-演示者框架:接口应该驻留在哪个项目中

我刚刚在Winforms上完成了我的自定义MVP框架。根据我的经验,我可以清楚地为任何MVP实现确定以下子项目

  1. 示范项目
  2. 查看接口项目
  3. 演示器接口项目(它也可以与视图接口一起使用)
  4. 主讲人实施项目
  5. 查看实现项目(这是您的Winforms/WPF/ASP. html)
  6. 应用控制器(这是MVP的一个重要但经常被忽视的方面。它负责启动整个框架,包括应用程序本身。它还管理跨演示者通信和导航)
  7. 应用程序导航器(导航器给出具体的视图和演示器应用控制器要求的)

我建议您在您的解决方案中添加一个单独的项目,并将其命名为YourSolutionName.Contracts。把你所有的View和Model接口移到那里,这样你的Presenter项目就不会依赖于这两个程序集(更多细节,请查看依赖倒置原则)。