COLA 是 Clean Object-oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿里技術專家的DDD開源項目。COLA是一套用於幫助開發人員快速實踐DDD落地的項目架構。目前COLA已經發展到COLA 4.0。

在COLA架構中,比如我們想創建一個User,一套完整的調用鏈大概如下圖所示:

1. 前端發起Command請求,經過CommandBus分發給對應Command命令處理程序
(在COLA 4.0版本中,CommandBus已經移除了);
2. 應用層服務接收Command請求,進行參數邏輯校驗;
3. 調用領域層中調用領域對象UserE的create方法;
4. 在create方法中調用infrastructure層中的gateway實現類,進行數據持久化。
下圖是領域對象Customer的方法,其中的create方法實現機制基本一致。

在COLA 4.0架構,更多的時候是在Command Executor(命令處理程序)中調用gateway實現類,完成數據的持久化操作,而不是調用領域對象的create方法。也就是說,create方法直接由gateway實現類提供。
關於COLA 4.0應用項目入門實踐、代碼落地和源代碼下載,可以參考
《COLA 4.x架構入門和項目實踐》技術專欄。內容由淺入深,收獲滿滿。

《COLA 4.x架構入門和項目實踐》技術專欄首先介紹了COLA框架的使用入門,以及與IDEA開發工具的集成等等;然后基於COLA架構,創建DDD經典示例項目-貨物運輸系統,詳細介紹了DDD領域建模、適配層、應用層、領域層和基礎設施層的代碼開發、防腐層(ACL)設計與實現、領域事件(Domain Event)入門實踐、以及基於Kafka消息中間件的消息發布和訂閱等等。內容由淺入深,從開發實戰出發,逐步掌握基於COLA架構和DDD領域建模思想構建復雜業務應用系統。
