我已经使用 MVC 很长时间了,并且听说过“Service“层(例如在Java Web项目中),我一直想知道这是否是一个真实的建筑模式鉴于我找不到很多有关它的信息。
MVCS 的想法是拥有一个控制器和模型之间的服务层,封装控制器中可能存在的所有业务逻辑。这样,控制器就可以转发和控制执行。您可以在许多控制器(例如网站和 Web 服务)中调用服务,而无需重复代码。
服务层可以用多种方式解释,但它通常是您拥有核心业务处理逻辑的地方,并且位于 MVC 架构下方、数据访问架构上方。
例如,完整系统的层可能如下所示:
- 视图层:您选择的 MVC 框架和代码
- 服务层:您的控制器将调用该层的对象来获取或更新模型,或其他请求。
- 数据访问对象:这些是服务层将调用以获取/更新所需数据的抽象。该层通常会调用数据库或其他一些系统(例如:LDAP 服务器、Web 服务或 NoSql 类型的 DB)
服务层将负责:
- 从各种数据源(或数据访问对象)检索和创建“模型”。
- 更新各种存储库/资源的值。
- 执行特定于应用程序的逻辑和操作等。
您在 MVC 中使用的模型可能来自也可能不是来自您的服务。您可能想要获取您的服务为您提供的结果,并将其处理为更适合您的媒体(例如:网页)的模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)