COLA 4.x和DDD專案實踐精粹

Rickie發表於2021-10-30
在《COLA 4.x架構入門和專案實踐》專欄基礎之上,對專案開發實踐進行了提煉和總結;同時,針對其中的一些知識點進行擴充套件和延伸。
 
專欄介紹
領域驅動設計(Domain Driven Design - DDD)起源於2003年Eric Evans出版《領域驅動設計》。
 
領域驅動設計DDD最大的好處是將業務語義顯現化,把原先晦澀難懂的業務演算法邏輯,透過領域物件、統一語言將領域概念清晰的顯性化表達出來。
 
如果整個系統都採用DDD進行領域建模,不僅程式碼的可讀性和系統的可維護性會大大提升,系統之間的邊界和互動也會更加的清晰。
 
COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔物件導向分層架構”,是來自阿里技術專家的開源專案。COLA 4.0本質就是:程式碼規範+可複用元件+充血領域模型。
COLA 4.x和DDD專案實踐精粹
本技術專欄在《COLA 4.x架構入門和專案實踐》基礎之上,對基於COLA架構的專案開發實踐進行了提煉和總結;同時,針對其中的一些知識點進行擴充套件和延伸,包括COLA架構、CQRS模式、程式碼落地實踐和建議規則、領域事件多種實現方式、聚合根工廠模式、MapStruct實體對映工具開發實踐等等。
 
 
專欄大綱
本專欄中首先總結了COLA分層架構和CQRS架構模式在DDD專案落地實踐中的一些經驗分享和建議規則;然後重點介紹了基於Guava EventBus、Spring框架中事件機制、以及Kafka訊息中介軟體,實現領域事件的釋出訂閱功能;最後,還分享了聚合根工廠模式的必要性和開發實踐,以及推薦MapStruct實體對映工具在DDD-COLA專案中應用等等。
COLA 4.x和DDD專案實踐精粹
專欄主要內容如下:
  • 阿里開源COLA架構中模組職責分析和建議包結構參考模型;
  • COLA分層架構、CQRS架構模式和業務呼叫時序圖;
  • 領域驅動設計DDD和COLA架構各模組程式碼落地實踐;
  • 領域驅動設計DDD和COLA架構落地實踐建議規則;
  • 基於Guava EventBus實現領域事件落地實踐-事件匯流排入門;
  • 基於Guava EventBus實現領域事件落地實踐-建立領域事件和釋出器;
  • 基於Guava EventBus實現領域事件落地實踐-建立Guava領域事件釋出器;
  • 基於Guava EventBus實現領域事件落地實踐-釋出領域事件;
  • 基於Guava EventBus實現領域事件落地實踐-訂閱並處理領域事件;
  • 基於Guava EventBus實現領域事件落地實踐-監聽領域事件併傳送郵件;
  • 基於Spring ApplicationListener和ApplicationEvent實現領域事件落地實踐;
  • 基於Spring @EventListener註解實現領域事件落地實踐;
  • 基於訊息中介軟體Kafka實現領域事件落地-配置kafka主題和生產者;
  • 基於訊息中介軟體Kafka實現領域事件落地實踐-建立領域事件釋出器和領域事件;
  • 基於訊息中介軟體Kafka實現領域事件落地實踐-處理領域事件;
  • 領域驅動設計DDD開發實踐-為什麼需要引入工廠模式?
  • Order聚合、聚合根和OrderFactory工廠的詳細實現;
  • 分層架構、資料模型、轉換器和MapStruct實體對映工具;
  • MapStruct實體對映工具在COLA應用專案中的開發實踐;
  • COLA 4.x和DDD專案實踐精粹:示例專案介紹;

 

相關文章