我正在使用WPF,MVVM和PRISM构建应用程序。该应用程序是一个密集的CRUD应用程序,并使用实体框架访问数据库。我想使用模块构建应用程序,但我无法弄清楚将数据访问代码放在何处(更准确地说,我无法弄清楚存储库接口的位置)。如果他们进入基础设施项目。然后所有模块都将依赖于它,它似乎不是正确的地方。另一方面,如果接口进入各自的模块,则模块之间会存在很多相互依赖关系。 问题:设计数据库感知模块化PRISM MVVM应用程序的最佳方法,也许是我案例的最佳解决方案?
答案 0 :(得分:2)
我想你可以看看MEF。它允许您拥有所需的抽象级别和模块性,同时所有内容以无缝方式协同工作。
答案 1 :(得分:1)
我建议你阅读official Prism guide。
我使用这种分离:
MyApp
- shell项目MyApp.Infrastructure
- 所有共享的接口 - 包括您的IRepository
MyApp.DAL
- 包含所有DAL类,还包含Repository
实现MyApp.Modules.SimpleModule
MyApp.Modules.AnotherModel
关于模块的主要内容 - 它们不应相互依赖 ,但它们可能依赖于共享模块(例如MyApp.Infrastructure
)。