一次说全COLA应用架构

一,为什么需要好的应用架构
一次说全COLA应用架构_第1张图片

上图比较清晰地说明了好的应用架构的作用——去繁为简,化无序为有序。

二,关于COLA的几种定义

1,原版

GitHub - alibaba/COLA: COLA: Clean Object-oriented & Layered Architecture

COLA 4.0:应用架构的最佳实践_cola实战_程序员万万的博客-CSDN博客

2,不知道什么的版本

COLA 架构_mob649e815da088的技术博客_51CTO博客

3,另外一种不知道什么的版本

COLA架构 入门-阿里云开发者社区

关于定义确实各说各的,我们可以忽略,只要关注一个本质就好了,那就是大家都提到的分层

简单来说,就是专一职责,专业的Layer做专业的事儿,解耦,避免臃肿。

下面贴一下,原作者的想法:

给 COLA 做减法:应用架构中的“弯弯绕设计”-阿里云开发者社区

三,示例项目的踩坑

1,下载源代码

地址:GitHub - alibaba/COLA: COLA: Clean Object-oriented & Layered Architecture

一次说全COLA应用架构_第2张图片

下载解压

2, 安装项目组件

2.1 进到cola-archetypes目录,执行mvn install命令

2.2 进到cola-components目录,执行mvn install命令

3,生成样例项目

退到OLA-master目录执行下面命令,注意里面groupId,artifactId,version,package这些都可以改

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

如果过程中出现下图中错误,可以到自己本地的maven的settings文件中去掉snapshotPolicy这个标签

一次说全COLA应用架构_第3张图片

这一步完成之后,会在上级目录中生成一个demoWeb项目(名字就是上面你设定的artifactId),项目结构如下:

一次说全COLA应用架构_第4张图片

4,启动项目

进入到demoWeb目录下,执行mvn install -DskipTests命令,再进入到start目录执行mvn spring-boot:run 命令,就可以把服务启动起来。可以通过访问http://localhost:8080/helloworld来测试了

一次说全COLA应用架构_第5张图片

如果执行上面启动命令不行的话,可以在Idea中启动,或者先mvn clean package打包,再用java -jar启动。

这个样例项目的坑在于,一定要注意每个命令都要在正确的目录执行。

四,总结

没有最佳,只有适合。如无必要,勿增实体!

码字不易,记得点赞关注收藏哟!

你可能感兴趣的:(微服务&Spring,玩意儿,架构,COLA,Alibaba,应用架构,解耦)