COLA 架构使用规范化
基础架构图
- Adapter 适配层:对前端展示的路由和适配。
VO:返回给前端的对象
assembler:将 responseDTO 转换为 VO
web:处理页面请求的 Controller
wap:处理手机端请求的 Controller - Application 应用层:负责获取输入,组装上下文,调用领域层做业务流程编排,如果需要的话,发送消息通知等。若只是简单操作,应用层还可直接绕过领域层,访问基础层。避免在 Application 层做入参校验,可以通过 JSR303/380 和 Spring Validation 来前置校验。如何判断是否属于业务流程:不要有 if/else 分支逻辑,除非是 if 条件对象判空返回或者抛异常终止。
DTO:数据转换对象,只是为了和外部交互,所以本身不包含任何逻辑,属于贫血对象,包括 req 请求 DTO 和 res 响应 DTO
converter:实现 dto 与 model 之间转换或 dto 与 po 之间转换
consumer:处理外部消息通知,比如 MQ 消息
executor:处理 request,包括 command 和 query 两种(一般可用 CmdExe 表示)
scheduler:处理定时任务
rpc:实现 Client 中供外部调用的 Facade 接口,FacadeImpl - Client:封装 sdk 供外部调用
api:供外部调用的 Facade 接口
DTO:供外部使用的接口对应的 DTO
enums:枚举类 - Domain 领域层:封装核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)向 App 层提供业务逻辑计算和业务实体。领域是应用的核心,不依赖其他任何层次。
model:领域模型,包含数据和行为
gateway:领域网关,与外部解耦利器
ability:领域能力,包括 DomainService,当某个行为影响到多个 Entity 时,属于跨实体的业务逻辑,在这种情况下就需要 DomainService 来完成,即业务需要涉及到多个 gateway - Infrastructure 基础实施层:处理技术细节,比如数据库 CRUD、搜索引擎、文件系统等,领域防腐的重任也落在这层,通过调用外部接口获取到的外部对象转换为实际 Domain 层所定义的对象模型,从而不直接使用外部对象。
PO:与数据库表一个一个地映射关系,每个字段对应数据库表的一个 column,PO 只有数据,没有行为
factory:model 与 po 之间转换
mapper:数据库映射,持久化操作
common:工具包
gatewayImpl:网关实现
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfekfa
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01