上一篇我們講了DDD的核心概念(附上鏈接),并且設計了我們的上下文映射圖,那么接下來就準備開始立項了,本篇文章的部分知識點可能對一部分人來說比較基礎,可以選擇性的閱讀。

    在這之前我們平常用的最多的應該就是3層架構了,這里也不展開描述了,大家都是在3層的陪伴下一路走來的~

    DDD所使用的傳統分層架構是松散分層,也就是上層可以訪問任意層級的下層,而不是僅限于當前層的下一層,這是有別于3層架構的。如下面2張圖的區(qū)別圖:

                        【圖1】

                        【圖2】

Application:這層的職責是對接收到的數據做一些非業(yè)務性驗證,事務的控制,最重要的是協調多個聚合之間的操作。這里應該可以清晰的表達出整個操作所做的事情,并且與通用語言是一致的。

Domain:這一層是DDD設計的核心,這里不但需要精確合理的表達出通用語言的每一個細節(jié),另外如何把對象合理的定義為聚合、實體、值對象也是重中之重。這里不但關系著整個項目的復雜度,也是戰(zhàn)術建模的體現,任何的一行代碼都是對業(yè)務的準確定義,應該是恰到好處。一個清晰簡潔的戰(zhàn)術建模才可以應對后續(xù)的快速變化。

Infrastructure:這里是輔助性的一層,也是整個項目的基礎。好比這里存放著一磚一瓦,最終建造什么模樣的高樓在于用它的地方。主要包括,倉儲的實現(我們存放數據的地方)、一些通用的支撐性類庫。

 

二、六邊形架構

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式