我没有MVC应用程序,“M”包括服务和存储库层。
但是,我对于在哪里以及如何做一些事情感到有些困惑。
e.g。
我有一个ReferenceDataService,它使用我的引用表处理CRUD的所有逻辑。
然后在我的“CustomerService”中,我需要'R'我的参考数据来获取,例如描述而不是Id。那么,我应该调用ReferenceDataService还是ReferenceDataRepository?
我是在服务层或控制器中执行此操作吗?
e.g。我的ServiceLayer是否执行从VM到Entity的映射/逻辑并返回?
感谢:)
答案 0 :(得分:24)
另一个更简单的方案是当您不需要服务层时,通常在较小的应用程序中就是这种情况。服务层没有任何好处。因此,控制器使用域模型直接与存储库进行通信。
答案 1 :(得分:5)
ViewModel包含在视图上显示模型所需的数据。如果您将使用其他视图(例如移动应用程序,桌面应用程序,甚至Web服务),则需要在视图上显示其他数据。如果您要在服务层上进行映射,那么您将无法将其用于其他类型的应用程序。因此,控制器是一个映射域数据以在视图上显示它们的地方(无论您拥有什么类型的视图)。