阿里開源的COLA 4.0整潔物件導向分層架構到底是什麼?

Rickie發表於2021-06-22
COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔物件導向分層架構”,是來自阿里技術專家的開源專案。目前COLA已經發展到COLA 4.0。
 
COLA既是框架,也是架構。COLA框架繼承了DDD的設計思想。
 
對於一個典型的業務應用系統來說,COLA會做如下程式碼層次定義,每一層都有明確的職責定義:
阿里開源的COLA 4.0整潔物件導向分層架構到底是什麼?
1)適配層(Adapter Layer):負責對前端展示(web,wireless,wap)的路由和適配,對於傳統B/S系統而言,adapter就相當於MVC中的controller;
2)應用層(Application Layer):主要負責獲取輸入,組裝上下文,引數校驗,呼叫領域層做業務處理,如果需要的話,傳送訊息通知等。層次是開放的,應用層也可以繞過領域層,直接訪問基礎實施層;
3)領域層(Domain Layer):主要是封裝了領域模型和核心業務邏輯,並透過領域服務(Domain Service)和領域物件(Domain Object)的方法對Application層提供業務實體和業務邏輯計算。領域是應用的核心,不依賴任何其他層次;
4)基礎實施層(Infrastructure Layer):主要負責技術細節問題的處理,比如資料庫的CRUD、搜尋引擎、檔案系統、分散式服務的RPC等。此外,領域防腐的重任也落在這裡,外部依賴需要透過gateway的轉義處理,才能被上面的Application層和Domain層使用。
 
下圖是基於COLA 架構建的DDD經典示例應用-貨物運輸系統(Cargo Tracker Application)的程式碼結構:
阿里開源的COLA 4.0整潔物件導向分層架構到底是什麼?
 
 
《COLA 4.x架構入門和專案實踐》技術專欄詳細講解COLA框架的使用,領域驅動設計DDD中領域模型的開發,以及DDD經典示例專案-貨物運輸系統(Cargo Tracker Application)程式碼實現細節。
 
 

相關文章