在MVC架构中实现服务层

Dec*_*ler 13 model-view-controller service layer

如何在MVC架构中实现服务层?它是一个服务于底层业务对象的所有请求的对象吗?或者更像是一个服务于不同服务对象的对象,这些对象又与业务对象进行交互?

所以:

  1. 控制器 - >服务 - > getUserById(),或:

  2. Controller - > ServiceManager - > getUserService() - > getUserById()

此外,如果后者更合适,您是否会在引导程序中配置此ServiceManager对象?换句话说,在引导程序中将应用程序所需的不同服务注册到服务管理器?

如果以上都不合适,那么什么能帮助我更好地理解服务层应该如何实现呢?

先感谢您.

kro*_*old 4

我读这个问题的方式,确实有两件事应该回答:

A)我更喜欢将“Service”拆分为“CustomerService”和“OrderService”,换句话说,按领域概念分组。

B) 其次,我会使用依赖注入直接在需要的地方获取正确的服务,所以我基本上使用替代方案 1。替代方案 2 中添加的抽象对我来说没有提供任何附加价值,因为 IoC 容器完成了重要的部分。