模型-视图-演示者框架:接口应该驻留在哪个项目中
本文关键字:项目 接口 视图 框架 模型 | 更新日期: 2023-09-27 18:16:49
我正在尝试MVP设计框架,目前我的解决方案如下:
项目:模型包含:具体对象类,DataRetrieval类,IDataRetrieval接口
项目:主持人包含:Presenter类,IView接口
项目:视图包含:视图类,程序类
当我可以的时候,我一直在重新审视这个解决方案,但是现在我不记得为什么我要按照它们的方式分发接口了。这似乎不对。我尝试了以下操作:
- 将类的接口移到相关的项目中实施。
- 将两个接口移动到presenter类。
做出这些改变都需要一点工作,所以我只是想知道是否其中一个答案比另一个更好(或者可能两个答案都非常,非常错误:))
如果重要的话,这是用c#设计的。
我想听听你的意见!
安迪我刚刚在Winforms上完成了我的自定义MVP框架。根据我的经验,我可以清楚地为任何MVP实现确定以下子项目
- 示范项目
- 查看接口项目
- 演示器接口项目(它也可以与视图接口一起使用)
- 主讲人实施项目
- 查看实现项目(这是您的Winforms/WPF/ASP. html)
- 应用控制器(这是MVP的一个重要但经常被忽视的方面。它负责启动整个框架,包括应用程序本身。它还管理跨演示者通信和导航)
- 应用程序导航器(导航器给出具体的视图和演示器应用控制器要求的)
我建议您在您的解决方案中添加一个单独的项目,并将其命名为YourSolutionName.Contracts。把你所有的View和Model接口移到那里,这样你的Presenter项目就不会依赖于这两个程序集(更多细节,请查看依赖倒置原则)。