我一直在研究用于分层 MVC 应用程序的各种模式,需要一些建议。我目前拥有的是以下内容:
1)POCO领域模型,完全没有业务逻辑,所以基本上是一个贫血的领域模型。
2) EntityFramework 具有交回域对象的存储库层。
3)服务层,现在我不确定这是应用服务层还是领域服务层,但基本上它是一个针对领域模型的API。所有业务逻辑都驻留在这一层并确保域对象有效,然后将其交给存储库以通过 EF 持久化回数据库。
4) ASP.NET MVC 应用程序,该应用程序与服务层对话以获取它需要的对象。
我喜欢它的工作原理,因为它提供了与域模型的单点交互,但我认为我需要的是服务层和 mvc 应用程序之间的一层。该层的职责是将域对象与控制器可以交互的视图模型转换为视图模型,以获得视图所需的确切数据,并将填充的域对象提供回服务层。这会是应用程序服务层,而上面提到的服务层是域服务层吗?
我使用 AutoMapper 将域对象放入视图模型,但我不确定将它们返回到域对象的标准。
任何建议或想法都会很棒。