天天看點

基于DDD領域模組化思想、COLA開源架構和CQRS模式設計和建構貨物運輸系統

基于DDD領域模組化思想、COLA開源架構和CQRS模式設計和建構貨物運輸系統

技術專欄首先介紹了COLA架構的使用入門,以及與IDEA開發工具的內建等等;然後基于COLA架構,建立DDD經典示例項目-貨物運輸系統,詳細介紹了DDD領域模組化、适配層、應用層、領域層和基礎設施層的代碼開發、防腐層(ACL)設計與實作、領域事件(Domain Event)入門實踐、以及基于Kafka消息中間件的消息釋出和訂閱等等。内容由淺入深,從開發實戰出發,逐漸掌握基于COLA架構和DDD領域模組化思想建構複雜業務應用系統。

2003年,DDD(領域驅動設計)這一軟體開發的方法與願景經由模組化專家 Eric Evans 的經典著作Domain-Driven Design: Tackling Complexity in the Heart of Software 正式面世,當即獲得了廣泛關注和高度評價。18 年間,網上越來越多關于 DDD的文章和讨論。為什麼我們現在還不停地讨論 DDD?為什麼DDD仍然如此重要?

領域驅動設計常以戰略設計與戰術設計來将整個領域展現得淋漓盡緻,其作用範圍既面向業務也面向技術。從戰略角度去規劃系統、劃分領域。而從戰術角度則從技術層面來指導我們該如何去設計。

随着新開發技術的不斷發展,尤其是微服務和容器化技術的引入,我們的應用系統趨向于更加優雅的設計。DDD設計思想在項目落地實踐過程中也在不斷進化。

COLA 是 Clean Object-Oriented and Layered Architecture的縮寫,代表“整潔面向對象分層架構”,是來自阿裡技術專家的開源項目。目前COLA已經發展到COLA 4.0。COLA 4.0本質就是:代碼規範+可複用元件+充血領域模型。

基于DDD領域模組化思想、COLA開源架構和CQRS模式設計和建構貨物運輸系統

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

DDD 不涉及具體的開發技術,但也并非對技術漠不關心。

基于DDD領域模組化思想、COLA開源架構和CQRS模式設計和建構貨物運輸系統

貨物運輸系統分為四個獨立的微服務應用:分别為預訂微服務(bookingms)、運輸微服務(routingms)、跟蹤微服務(trackingms)和裝卸微服務(handlingms),如圖所示。

基于DDD領域模組化思想、COLA開源架構和CQRS模式設計和建構貨物運輸系統

本技術專欄主要内容如下:

開源COLA 4.0架構和DDD領域驅動設計入門介紹

體驗COLA示例應用項目craftsman:環境準備、啟動運作和代碼分析(1)

體驗COLA示例應用項目craftsman:環境準備、啟動運作和代碼分析(2)

如何使用COLA架構建立業務應用項目?

COLA架構源碼編譯釋出到本地Maven倉庫的完整過程

COLA項目模闆和IDEA開發工具的內建

基于COLA架建構立DDD經典示例項目Cargo貨物運輸系統和領域模組化

COLA架構和DDD經典示例項目:領域模型中指令和指令處理程式的實作

COLA架構和DDD經典示例項目:Gateway接口和實作

COLA架構和DDD經典示例項目:建立MySQL包裹預訂資料庫表和通路賬号

COLA架構和DDD經典示例項目:自動生成資料通路層代碼

COLA架構和DDD經典示例項目:GatewayImpl實作類的開發

COLA架構和DDD經典示例項目:資料流轉圖和轉換工具類開發

COLA架構和DDD經典示例項目:服務接口和應用服務實作類的開發

COLA架構和DDD經典示例項目:啟動應用并發起包裹預訂請求

COLA架構和DDD經典示例項目:包裹查詢服務的實作

基于COLA架建構立運輸微服務應用和DDD領域模組化

基于COLA架構開發和實作運輸微服務應用

防腐層設計與實踐:隔離限界上下文之間的耦合,實作幹淨的領域模型

防腐層設計與實踐:在包裹預訂服務中通過防腐層實作包裹路由服務

領域事件入門實踐:包裹預訂事件和包裹路由事件模組化

領域事件入門實踐:基于Kafka消息中間件釋出領域事件

基于COLA架建構立包裹跟蹤微服務應用和DDD領域模組化

領域事件入門實踐:基于Kafka消息中間件監聽包裹預訂事件和包裹路由事件

領域事件入門實踐:監聽包裹路由事件的完整實作

包裹預訂、運輸、跟蹤服務之間的聯調測試

基于COLA架建構立包裹裝卸微服務應用和DDD領域模組化 

繼續閱讀