天天看點

什麼是領域?怎麼拆分領域?企業的業務範圍和在這個範圍裡進行的活動為領域,和軟體應用無關。而在領域内,各種業務規則和業務知

作者:軟體架構

什麼是領域?怎麼拆分領域?

企業的業務範圍和在這個範圍裡進行的活動為領域,和軟體應用無關。而在領域内,各種業務規則和業務知識盛行,如何有效的把控規則的變化,應對複雜知識,有一個很關鍵的四字詞語,分而治之。

分治法在很多場景下展現了其強大的作用力。領域本身很大,那就拆分,得到更小的領域,也即子域。如同遞歸調用一般,将一個複雜問題拆分單獨求解,而最終将解彙總得到複雜問題解。

怎麼拆?拆成怎麼樣合适?依據什麼拆?這些在領域驅動設計中有了一套答案。雖然領域驅動設計不是銀彈,但可以說的上是一套極好的系統方法論或稱為架構設計的方法論。

在領域驅動設計中,更偏向基于業務拆分,降低業務複雜度,也分離技術實作的複雜度。依照業務拆分後的子領域,本身存在權重上的差異,依照重要性和功能劃分為三類:核心域、支撐域和通用域。

貨物運輸系統(Cargo Tracker Application)是DDD的經典案例:基于DDD分層架構和CQRS架構(Command Query Responsibility Segregation,指令查詢職責分離),采用了Spring Boot微服務架構、RabbitMQ消息中間件和Spring Cloud Stream元件、Spring Data JPA等等技術棧。

《DDD領域驅動設計-貨物運輸系統》技術專欄從實戰出發,幫助開發人員快速掌握DDD領域模組化方法和微服務應用開發。

什麼是領域?怎麼拆分領域?企業的業務範圍和在這個範圍裡進行的活動為領域,和軟體應用無關。而在領域内,各種業務規則和業務知
什麼是領域?怎麼拆分領域?企業的業務範圍和在這個範圍裡進行的活動為領域,和軟體應用無關。而在領域内,各種業務規則和業務知
什麼是領域?怎麼拆分領域?企業的業務範圍和在這個範圍裡進行的活動為領域,和軟體應用無關。而在領域内,各種業務規則和業務知