MVC三层架构
MVC分层架构是架构上最简单的一种分层方式。为了遵循这种分层架构我们在构建项目时往往会建立这样三个目录:controller、service 和 dao,它们分别对应了表现层、逻辑层还有数据访问层。
三层架构示意图
每层的作用如下:
-
Controller层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理。
-
Service层:主要是处理业务逻辑和事务
-
Dao层:负责与底层数据库MySQL,Oracle等进行数据交互
可是随着我们的业务逻辑越来复杂,代码写的越来越多,这种简单的三层架构的问题也越来越明显。
MVC架构弊端
传统的MVC分层有以下几个很明显的问题:
-
Service层代码臃肿
-
Service层很容易出现大事务,事务嵌套,导致问题很多,而且极难排查
-
dao层参杂业务逻辑
-
dao层sql语句复杂,关联查询比较多
为了解决这个问题,我们参考《alibaba java开发手册》,在Service层之下再独立出一个通用业务处理层(Manager层)