springboot分层思想
1.controller 给本项目提供接口
2.facade 给外部系统提供RPC接口(RPC是一种网络协议 是一个规范)
3.client 提供给外部使用的DTO,切记该模块不能依赖其他模块。含:BizException、ErrorCodeBizEnum
4.infrastructure 基础层,承载数据访问,entity实体对象
5.domain 领域层,包含domain-领域对象、 event-领域事件、 vo-值对象
6.service 服务层:
1)adapter 其实就是实体转换
2)event 发送事件
3)调用mapper进行数据库操作
7.intergration 整合层
1)adapter 把外部返回的实体转换为domain层实体
2)proxy 调用外部服务
8.boot 启动入口代码
参考:https://juejin.cn/post/7173678139053178917?#heading-25