一,为什么需要好的应用架构
上图比较清晰地说明了好的应用架构的作用——去繁为简,化无序为有序。
二,关于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
下载解压
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这个标签
这一步完成之后,会在上级目录中生成一个demoWeb项目(名字就是上面你设定的artifactId),项目结构如下:
4,启动项目
进入到demoWeb目录下,执行mvn install -DskipTests命令,再进入到start目录执行mvn spring-boot:run 命令,就可以把服务启动起来。可以通过访问http://localhost:8080/helloworld来测试了
如果执行上面启动命令不行的话,可以在Idea中启动,或者先mvn clean package打包,再用java -jar启动。
这个样例项目的坑在于,一定要注意每个命令都要在正确的目录执行。
四,总结
没有最佳,只有适合。如无必要,勿增实体!
码字不易,记得点赞关注收藏哟!