我的 Controller 将请求转交给适当的服务。然后该服务调用各个存储库。存储库使用 Linq to Sql 实体纯粹用于数据访问,然后映射并作为域对象返回。然后,服务决定 Controller 将呈现什么,并用呈现对象替换 DO,这些对象返回到 Controller 以在 View 中显示。
所以我有服务-存储库-域对象-表示对象
我问这个问题是因为我似乎有很多对象,其中一些对象除了传递数据之外什么都不做。这是一个合理的场景还是我没有遵循正确的 MVC 模式?
最佳答案
是的,您的想法是正确的。它可能有很多类和接口(interface)(甚至不包括单元测试和模拟/测试类),但如果您有一个相当大的应用程序,那么无论如何,您都会诽谤。但一开始,需要做大量的工作,但最初的收获却并不多。
我看到项目跳过了一些基本服务的服务实现,这些服务只是传递到存储库,而没有服务添加任何值(value)。他们直接从 Controller 进入存储库,并且似乎没有丢失太多。
还有其他方法可以通过尽可能使用工具来减轻某些类的负担。例如,类似 AutoMapper 的项目可以帮助简化域对象以查看模型映射。
关于asp.net-mvc - ASP.net MVC : IS this pattern reasonable or conceptually incorrect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/873053/