为什么说开源的COLA既是架构也是框架?

Posted 领域驱动设计 DDD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么说开源的COLA既是架构也是框架?相关的知识,希望对你有一定的参考价值。

COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。
COLA既是架构,也是框架。COLA框架继承了DDD的设计思想。
COLA 开源地址:https://github.com/alibaba/COLA 
 
一、为什么说COLA是架构?
在架构设计上,COLA主张像六边形架构那样,使用端口-适配器去解耦技术细节;主张像洋葱架构那样,以领域为核心,并通过依赖倒置反转领域层的依赖方向。
从COLA应用处理响应一个请求的过程来看,COLA使用了CQRS来分离命令和查询的职责,使用扩展点和元数据来提供更高应用的可扩展性。
下图是COLA架构示意图,供参考:
COLA架构的核心职责就是定义良好的应用结构,提供最佳应用架构的最佳实践。通过不断探索,发现良好的分层结构,良好的包结构定义,可以帮助我们治理和应对复杂的业务逻辑。
 
二、为什么说COLA是框架?
是因为开源COLA应用中还提供了一些非常有用的通用组件,这些组件可以帮助我们提升研发效率。
这些功能组件被收拢在cola-components目录下面。
 
三、基于COLA开发经典DDD项目应用
下图是基于COLA 架构建的DDD经典示例应用-货物运输系统(Cargo Tracker Application)的代码结构:
 
《COLA 4.x架构入门和项目实践》技术专栏详细讲解COLA架构的使用,领域驱动设计DDD中领域模型的开发,以及DDD经典示例项目-货物运输系统(Cargo Tracker Application)代码实现细节。
 

以上是关于为什么说开源的COLA既是架构也是框架?的主要内容,如果未能解决你的问题,请参考以下文章

COLA 4.0应用架构和DDD经典项目实践:货物运输系统

《应用架构COLA 2.0》

阿里DDD项目最佳实践-COLA 架构总览

为什么有人说开车时,最能看出一个人的情商和潜力?

架构简洁之道:从阿里开源应用架构 COLA 说起

redis 常见的面试题,既是面试题也是知识点