目录
传统分层架构存在的问题
传统的分层架构会在 Service 层、Manager 层实现具体的业务逻辑,使用 DO、DTO、BO、VO 等进行数据传输,数据和行为基本完全隔离。
- Service 层:相对具体的业务逻辑服务层。
- Manager 层:通用业务处理层,具有有如下特征:
- 对第三方平台封装的层,预处理返回结果及转化异常信息。
- 对 Service 层通用能力的下沉,如:缓存方案、中间件通用处理。
- 与 DAO 层交互,对多个 DAO 的组合复用。
这样的分层架构存在一个问题:因为分层采用的是包的形式进行的层间隔离,所以需要每一位开发人员都理解并且自觉遵守以上规范,但是在实际工作中因为开发人员对 Service 层和 Manager 层的区别并不特别清楚,或难以完全遵守手册中的规范,就导致 Manager 层除了沉底一些通用能力以外和 Service 层并没有什么本质区别。在实际的业务代码中 Service 层和 Manager 层