阿里为什么建议给MVC三层架构多加一层Manager层?

传统MVC架构在面对复杂业务时,Service层容易代码臃肿、存在大事务问题。为解决这些问题,阿里推荐在Service层下添加Manager层,作为通用业务处理层,负责原子服务接口、第三方平台封装、Service层通用能力下沉等,保持各层边界清晰。Manager层可以降低Service层的事务复杂性,简化DAO层的SQL,提高代码可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MVC三层架构

MVC分层架构是架构上最简单的一种分层方式。为了遵循这种分层架构我们在构建项目时往往会建立这样三个目录:controller、service 和 dao,它们分别对应了表现层、逻辑层还有数据访问层。

图片

三层架构示意图

每层的作用如下:

  • Controller层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理。

  • Service层:主要是处理业务逻辑和事务

  • Dao层:负责与底层数据库MySQL,Oracle等进行数据交互

可是随着我们的业务逻辑越来复杂,代码写的越来越多,这种简单的三层架构的问题也越来越明显。

MVC架构弊端


传统的MVC分层有以下几个很明显的问题:

  1. Service层代码臃肿

  2. Service层很容易出现大事务,事务嵌套,导致问题很多,而且极难排查

  3. dao层参杂业务逻辑

  4. dao层sql语句复杂,关联查询比较多

为了解决这个问题,我们参考《alibaba java开发手册》,在Service层之下再独立出一个通用业务处理层(Manager层)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值