2021-06-22

阿里开源的COLA 4.0整洁面向对象分层架构到底是什么?

COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表"整洁面向对象分层架构",是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。COLA既是框架,也是架构。COLA框架继承了DDD的设计思想。
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表"整洁面向对象分层架构",是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。
 
COLA既是框架,也是架构。COLA框架继承了DDD的设计思想。
 
对于一个典型的业务应用系统来说,COLA会做如下代码层次定义,每一层都有明确的职责定义:

1)适配层(Adapter Layer):负责对前端展示(web,wireless,wap)的路由和适配,对于传统B/S系统而言,adapter就相当于MVC中的controller;
2)应用层(Application Layer):主要负责获取输入,组装上下文,参数校验,调用领域层做业务处理,如果需要的话,发送消息通知等。层次是开放的,应用层也可以绕过领域层,直接访问基础实施层;
3)领域层(Domain Layer):主要是封装了领域模型和核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Object)的方法对Application层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;
4)基础实施层(Infrastructure Layer):主要负责技术细节问题的处理,比如数据库的CRUD、搜索引擎、文件系统、分布式服务的RPC等。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的Application层和Domain层使用。
 
下图是基于COLA 架构建的DDD经典示例应用-货物运输系统(Cargo Tracker Application)的代码结构:

 

马士基集团:https://www.ikjzd.com/w/1296
开放女友玩诈孕骗我2万去旅游:http://lady.shaoqun.com/m/a/62103.html
男人爱㖭女人下面 喜欢让人㖭我下面:http://lady.shaoqun.com/m/a/247874.html
深诺互动:https://www.ikjzd.com/w/2746
注册遇到账户停用我该怎么办:https://www.ikjzd.com/tl/109395
上传亚马逊listing品牌如何填写:https://www.ikjzd.com/tl/109396
亚马逊全球开店全站点政策梳理:https://www.ikjzd.com/tl/109397
一位女士的体验:也说男人的粗细短长:http://lady.shaoqun.com/a/44143.html
口述实录:职场菜鸟"夭亡"记:是胆子太肥还是脑子太瘦?:http://lady.shaoqun.com/m/a/256002.html
深圳开心麻花醉后赢家好看吗:http://www.30bags.com/a/450913.html
Facebook公共主页及落地页政策合规指南,避坑高频违规点:https://www.ikjzd.com/articles/145949
ShopiBar|独立站是什么?:https://www.ikjzd.com/articles/145944

No comments:

Post a Comment