赞
踩
欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!
在我后台回复 「资料」 可领取
编程高频电子书
!
在我后台回复「面试」可领取硬核面试笔记
!文章导读地址:点击查看文章导读!
感谢你的关注!
Alibaba 开源了 Cola 架构,目前发展到了 Cola 4.0,Cola 的思想与 DDD 建模设计有一些相通之处,但并不是完全一样,
Cola 架构不仅提供了建模思想,而且提供了可落地的工具和实践指导
Cola 架构的具体内容,可以在 CSDN 上详细看张建飞大佬写的文章!这里我主要将核心部分给写下来!
应用架构的本质就是将类与类、包与包之间的组织关系变得更加清晰,易于维护,达到高内聚、低耦合!
好的应用架构都遵循着一个规律:以业务为中心进行建模
Cola 架构的层次划分为:Adapter 层、Application 层、Domain 层、Infrastructure 层
1、适配层(Adapter Layer):负责与外界进行交互
2、应用层(Application Layer):负责获取输入,组装上下文,调用领域层进行业务处理,也可以直接访问基础设施层
3、领域层(Domain Layer):封装了核心业务逻辑,为 App 层提供业务实体以及业务逻辑计算
4、基础设施层(Infrastructure Layer):负责技术细节问题的处理,如数据库的 CRUD、RPC、搜索引擎等
分层是大粒度的职责划分,接下来还要更细粒度的进行包结构的划分,才能具体的指导代码结构
DDD 对设计能力要求很高,设计的好不好,要看以下三点:
接下来我们先去 COLA 源码仓库把代码下载下来,分析一下 COLA 架构如何设计,之后再去完成电商履约场景的代码设计
整个 Cola 架构如下图,包括了 5 个部分:
接下来说一下 Web 请求的整个调用流程:
更复杂一些的逻辑流程
上边说了一个简单逻辑的流程
接下来说一下稍微复杂一些的保存操作,如果在保存之后,还需要发布一个事件,那就需要使用 Gateway 来进行解耦操作,将保存数据的操作和发布事件的操作给提取到 Gateway 中去,那么 Executor 就只需要调用 Gateway 的保存方法即可,数据库的操作以及事件的发布全部交给 GatewayImpl 来做如下:
至此,Cola 架构整体的一个流程就梳理完毕了,还有一些细节地方没有说,比如 Convertor,这个就相当于 DDD 中的防腐层,用于将外部对象转为内部对象,比如将 web 端发来的 DTO 对象转为内部的 DO 对象等等
这些细节的东西会在接下来的实战环节说明
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。