我已经使用MVC很长时间了,并且听说过“服务”层(例如在Java Web项目中),并且我一直在想,如果我找不到很多有关MVC的信息,那这是否是真正的架构模式它。
MVCS的想法是在控制器和模型之间具有服务层,以封装控制器中可能存在的所有业务逻辑。这样,控制器就在那里转发和控制执行。您可以在许多控制器(例如,网站和Web服务)中调用服务,而无需重复代码。
我已经使用MVC很长时间了,并且听说过“服务”层(例如在Java Web项目中),并且我一直在想,如果我找不到很多有关MVC的信息,那这是否是真正的架构模式它。
MVCS的想法是在控制器和模型之间具有服务层,以封装控制器中可能存在的所有业务逻辑。这样,控制器就在那里转发和控制执行。您可以在许多控制器(例如,网站和Web服务)中调用服务,而无需重复代码。
Answers:
服务层可以用很多方法来解释,但通常是您拥有核心业务处理逻辑的地方,并且位于MVC架构之下,但位于数据访问架构之上。
例如,您的完整系统层可能看起来像这样:
然后,服务层将负责:
您在MVC中使用的模型可能来自或可能不来自您的服务。您可能需要获取服务所提供的结果,并将其操纵为更适合您的媒介的模型(例如:网页)。
我本人一直在思考这种模式,但在其他任何地方都没有看到对此的任何参考,因此搜索了Google并在这里找到您的问题:)
即使在今天,也没有太多人讨论或发布有关
视图控制器服务模式。
想让您知道其他人也有同样的想法,上面的图像是我如何看待它。
目前,我正在我正在从事的项目中使用它。
我在模块中拥有它,上图中的每个层都有它自己的自包含模块。
服务层是“连接器”,“中间人”,“服务器端控制器”,因为“客户端”端控制器为客户端做什么,“服务”为服务器做什么。
换句话说,客户端“控制器”仅与“服务”又称为服务器端控制器“对话”。
控制器--->从<-----服务层进行请求和接收
服务层获取信息或将信息提供给需要它的服务器端的层。
该服务本身不执行任何操作,只是将服务器层与所需层连接起来。
这是一个代码示例: