阿里開源的COLA 4.0整潔面向對象分層架構到底是什么?


COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿里技術專家的開源項目。目前COLA已經發展到COLA 4.0。
 
COLA既是框架,也是架構。COLA框架繼承了DDD的設計思想。
 
對於一個典型的業務應用系統來說,COLA會做如下代碼層次定義,每一層都有明確的職責定義:
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.x架構入門和項目實踐》技術專欄詳細講解COLA框架的使用,領域驅動設計DDD中領域模型的開發,以及DDD經典示例項目-貨物運輸系統(Cargo Tracker Application)代碼實現細節。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM