COLA v4

COLA 是 Clean – and 的缩写,代表“整洁面向对象分层架构”。目前COLA已经发展到COLA v4。

COLA分为两个部分,COLA架构和COLA组件

一、COLA架构COLA 概述

架构的意义 就是 要素结构:

应用架构的意义 就在于

COLA架构就是为此而生,其核心职责就是定义良好的应用结构,提供最佳应用架构的最佳实践。通过不断探索,我们发现良好的分层结构,良好的包结构定义,可以帮助我们治理混乱不堪的业务应用系统。

经过多次迭代,我们定义出了相对稳定、可靠的应用架构:COLA v4

COLA

好的应用架构,都遵循一些共同模式,不管是六边形架构、洋葱圈架构、整洁架构、还是COLA架构,都提倡以业务为核心,解耦外部依赖,分离业务复杂度和技术复杂度等。

COLA架构区别于这些架构的地方,在于除了思想之外,我们还提供了可落地的工具和实践指导。

为了能够快速创建满足COLA架构的应用,我们提供了两个,位于cola-目录下:

cola–:用来创建纯后端服务的。cola–web:用来创建和后端服务一体的web应用。二、COLA组件

此外,我们还提供了一些非常有用的通用组件,这些组件可以帮助我们提升研发效率。

这些功能组件被收拢在cola-目录下面。到目前为止,我们已经沉淀了以下组件:

组件名称功能依赖

cola–dto

定义了DTO格式,包括分页

cola–

定义了异常格式,

主要有和

cola–

状态机组件

算法架构师是做什么的_算法和架构_chatgpt架构和算法4.0区别

cola—

托管的领域实体组件

cola—

异常处理和日志组件

、dto组件

cola—

扩展点组件

cola–test-

测试容器组件

三、如何使用COLA1. 创建应用

执行以下命令:

mvn archetype:generate 
    -DgroupId=com.alibaba.cola.demo.web 
    -DartifactId=demo-web 
    -Dversion=1.0.0-SNAPSHOT 
    -Dpackage=com.alibaba.demo 
    -DarchetypeArtifactId=cola-framework-archetype-web 
    -DarchetypeGroupId=com.alibaba.cola 
    -DarchetypeVersion=4.3.2

命令执行成功的话,会看到如下的应用代码结构:

2. 运行应用

如果要生成不是web工程而是工程也类似,执行的是下面的命令:

mvn archetype:generate 
    -DgroupId=com.alibaba.cola.demo.service 
    -DartifactId=demo-service 
    -Dversion=1.0.0-SNAPSHOT 
    -Dpackage=com.alibaba.demo 
    -DarchetypeArtifactId=cola-framework-archetype-service 
    -DarchetypeGroupId=com.alibaba.cola 
    -DarchetypeVersion=4.3.2

版本迭代4.0.0 版本

3.1.0 版本

进一步简化了cola-core,只保留了扩展能力。将从cola-core移入到cola-。对中的分包逻辑进行重构,改成按照做划分。将cola–web中的改名为,为了呼应六边形架构的命名。3.0.0 版本

2.0.0 版本

1.0.0 版本