COLA:阿里整洁面向对象分层架构脚手架创建与使用指南
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | alibaba/COLA |
| 开源协议 | LGPL-2.1 |
| 主要语言 | Java |
| Star 数 | 约 13k |
| JDK 要求 | 17+ |
COLA 是 Clean Object-Oriented and Layered Architecture 的缩写,代表"整洁面向对象分层架构",是阿里开源的应用架构脚手架,指导复杂业务系统的分层与解耦,目前已发展到 COLA v5。

二、官方图片
上图为 COLA 仓库在 GitHub 上的社交预览图。
三、环境要求
- JDK 17+;
- Maven 3.6+;
- IDEA 或其他 Java IDE。
四、创建步骤
1. 引入脚手架
<dependency>
<groupId>com.alibaba.cola</groupId>
<artifactId>cola-component-statemachine</artifactId>
<version>最新版本</version>
</dependency>
2. 生成工程骨架
用官方 Maven 原型快速生成:
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=demo \
-DarchetypeArtifactId=cola-framework-archetype \
-DarchetypeGroupId=com.alibaba.cola
3. 标准分层结构
demo
├── adapter/ # 适配层(controller)
├── app/ # 应用层(service)
├── domain/ # 领域层
└── infra/ # 基础设施层
4. 启动应用
mvn spring-boot:run
五、使用方法
- DDD 分层:adapter/app/domain/infra 职责清晰;
- 状态机:内置 cola-component-statemachine;
- 扩展点:用 Extension 点做业务差异隔离;
- 命令/事件:基于 CQRS 的命令驱动;
- AI 友好:Harness 工程,适合 AI 辅助开发。
六、常见问题 FAQ
-
COLA 是什么? 整洁面向对象分层架构,指导复杂系统的工程分层。
-
支持 JDK 几? v5 要求 JDK 17+。
-
标准包结构? adapter、app、domain、infra 四层。
-
内置什么组件? 状态机、扩展点、命令、事件等。
-
适合单体还是微服务? 两者都适用,强调边界与解耦。
-
协议是什么? LGPL-2.1。
七、跳转链接
- GitHub 仓库:alibaba/COLA
- 示例:COLA 示例
- 发布:Releases