当前位置:主页 > 查看内容

整洁面向对象分层架构COLA 4.0

发布时间:2021-08-20 00:00| 位朋友查看

简介:COLA 是 Clean Object-Oriented and Layered Architecture的缩写 代表“整洁面向对象分层架构”。 目前COLA已经发展到 COLA 4.0 。 COLA分为两个部分 COLA架构和COLA组件。 COLA架构 COLA 概述 架构的意义 就是 要素结构 要素 是 组成架构的重要元素 结构 是……

COLA 是 Clean Object-Oriented and Layered Architecture的缩写 代表“整洁面向对象分层架构”。 目前COLA已经发展到COLA 4.0

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

COLA架构COLA 概述

架构的意义 就是 要素结构

要素 是 组成架构的重要元素 结构 是 要素之间的关系。

而 应用架构的意义 就在于

定义一套良好的结构 治理应用复杂度 降低系统熵值 从随心所欲的混乱状态 走向井井有条的有序状态。

image.png

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

image.png

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

image.png

COLA Archetype

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

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

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

cola-archetype-service 用来创建纯后端服务的archetype。cola-archetype-web 用来创建adapter和后端服务一体的web应用archetype。COLA Components

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

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

组件名称功能版本依赖cola-component-dto定义了DTO格式 包括分页1.0.0无cola-component-exception定义了异常格式
主要有BizException和SysException1.0.0无cola-component-statemachine状态机组件1.0.0无cola-component-domain-starterSpring托管的领域实体组件1.0.0无cola-component-catchlog-starter异常处理和日志组件1.0.0exception
、dto组件cola-component-extension-starter扩展点组件1.0.0无cola-component-test-container测试容器组件1.0.0无如何使用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.0.1

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

image.png

注 也可以使用阿里云的应用生成器 https://start.aliyun.com/bootstrap.html 生成cola应用。

2. 运行应用在项目目录下运行mvn install 如果不想运行测试 可以加上-DskipTests参数 。进入start目录 执行mvn spring-boot:run。
运行成功的话 可以看到SpringBoot启动成功的界面。生成的应用中 已经实现了一个简单的Rest请求 可以在浏览器中输入 http://localhost:8080/helloworld 进行测试。

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

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.0.1



本文转自网络,原文链接:https://developer.aliyun.com/article/787460
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:我与飞天加速计划 下一篇:没有了

推荐图文


随机推荐