阿里開源的整潔面向?qū)ο蠓謱蛹軜?gòu)
本周贈書:誰是《Java編程思想》之后的巔峰?《On Java》申請出戰(zhàn)!
今天要給大家介紹一個不一般的應(yīng)用架構(gòu):阿里開源的,COLA

如上圖所示,COLA是Clean Object-Oriented & Layered Architecture的縮寫,經(jīng)過版本的迭代,目前已經(jīng)更新到了最新的4.0版本。
COLA作為一個應(yīng)用架構(gòu),其存在的主要功能在于:
定義一套良好的結(jié)構(gòu); 治理應(yīng)用復(fù)雜度,降低系統(tǒng)熵值; 從隨心所欲的混亂狀態(tài),走向井井有條的有序狀態(tài)。
其主要分為兩個部分組成,分別是COLA架構(gòu)和COLA組件。
先說說COLA架構(gòu),COLA架構(gòu)的核心職責(zé)就是提供最佳應(yīng)用架構(gòu)的最佳實踐,要達到這一點,需要優(yōu)秀的分層結(jié)構(gòu)、包結(jié)構(gòu)定義以及不斷地驗證測試,以業(yè)務(wù)為核心,解耦外部依賴,分離業(yè)務(wù)復(fù)雜度和技術(shù)復(fù)雜度。
下面這張圖可以稍稍帶你明白COLA架構(gòu)和COLA組件之間的關(guān)系:

COLA架構(gòu)和傳統(tǒng)的架構(gòu)模式相比,除了先進的理念之外還內(nèi)置了工具和實踐指導(dǎo),可以從cola-archetypes目錄下找尋:
分別是
cola-archetype-service:用來創(chuàng)建純后端服務(wù)的archetype。 cola-archetype-web:用來創(chuàng)建adapter和后端服務(wù)一體的web應(yīng)用archetype。
COLA組件則提供了一些可以提高研發(fā)效率的有用組件合集,包括:
cola-component-dto 定義了DTO格式,包括分頁 cola-component-exception 定義了異常格式,主要有BizException和SysException cola-component-statemachine 狀態(tài)機組件 cola-component-domain-starter Spring托管的領(lǐng)域?qū)嶓w組件 cola-component-catchlog-starter 異常處理和日志組件 cola-component-extension-starter 擴展點組件 cola-component-test-container 測試容器組件
如果想運用下COLA的話,需要如下步驟:
1、執(zhí)行命令
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.12、運行應(yīng)用
在項目目錄下運行mvn install(如果不想運行測試,可以加上-DskipTests參數(shù))。 進入start目錄,執(zhí)行mvn spring-boot:run。 運行成功的話,可以看到SpringBoot啟動成功的界面。 生成的應(yīng)用中,已經(jīng)實現(xiàn)了一個簡單的Rest請求,可以在瀏覽器中輸入 http://localhost:8080/helloworld 進行測試。
非常方便,小伙伴們快來試一下吧
點擊下方卡片,關(guān)注公眾號“TJ君”
回復(fù)“cola2022”,獲取倉庫地址
關(guān)注我,每天了解一個牛x、好用、有趣的東東
評論
圖片
表情
