这个架构应该定义为MVCS还是n层?

问题描述 投票:0回答:1

我创建了一个 SpringBoot 应用程序,其结构化代码分为不同的层:控制器(处理 REST API)、服务和 DAO。这些层中的每一层仅与其相邻层通信。此架构是否属于 n 层架构或 MVCS(模型-视图-控制器-服务)架构?如果它更符合 n 层架构,其中 DAO 位于模型层,服务位于业务逻辑层,那么控制器通常属于哪里?

spring spring-boot model-view-controller architecture software-design
1个回答
0
投票

请记住,“层”指的是部署分离,而不是“逻辑层”。它们通常在单独的机器上运行,以便您可以分别扩展和保护各个部分。

在您描述的设计中,API 控制器实际上是视图层,这有点令人困惑,也是为什么现代基于 REST 的应用程序很少严格遵守 MVC(S) 模式。 API 层中视图和控制器的混合使得解释起来很困难。像洋葱架构这样的架构通常可以更好地描述模型、DAO 和 API 层的相互作用。

© www.soinside.com 2019 - 2024. All rights reserved.