在《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架構入門和項目實踐》基礎之上,對基於COLA架構的項目開發實踐進行了提煉和總結;同時,針對其中的一些知識點進行擴展和延伸,包括COLA架構、CQRS模式、代碼落地實踐和建議規則、領域事件多種實現方式、聚合根工廠模式、MapStruct實體映射工具開發實踐等等。
專欄大綱
本專欄中首先總結了COLA分層架構和CQRS架構模式在DDD項目落地實踐中的一些經驗分享和建議規則;然后重點介紹了基於Guava EventBus、Spring框架中事件機制、以及Kafka消息中間件,實現領域事件的發布訂閱功能;最后,還分享了聚合根工廠模式的必要性和開發實踐,以及推薦MapStruct實體映射工具在DDD-COLA項目中應用等等。

專欄主要內容如下:
-
阿里開源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項目實踐精粹:示例項目介紹;