paulwong

          DDD領域驅動設計 - 設計文檔模板

          設計文檔模板:

          1. 系統背景和定位
          2. 業務需求描述
          3. 領域語言整理,主要是整理領域中的各種術語的定義,名詞解釋
          4. 領域劃分(分析出子域、核心域、支撐域)
          5. 系統用例圖
          6. 每個子域的領域模型設計(實體、值對象、聚合、領域事件,需要注意的是:領域模型是需要抽象的,要分析業務本質,而不是簡單的直接對需求進行建模)
          7. 領域模型詳細說明(如為什么這樣設計的原因、模型內對象的關系、各種業務規則、數據一致性規則等)
          8. 領域服務、倉儲、工廠設計
          9. Saga業務流程設計
          10. 關鍵聚合根的狀態流轉圖
          11. 場景走查(講述如何通過領域模型、領域服務、倉儲、Saga流程等完成系統用例以及關鍵業務流程的)
          12. 架構設計(如傳統三層架構、經典四層架構、CQRS/ES架構)

          一些其他的思考:

          • 去除一切花俏的建模技巧,我覺得最重要的方向就是去努力分析問題和事物的本質,針對這個本質進行領域建模。這個領域建模,最主要的還是鍛煉的人的事物抽象能力。10個人,建出來的領域模型都不同。本質原因就是大家對同一個問題的理解不同,對事物的本質的理解不同。雖然最終都能解決當前的問題,但是對適應未來需求變化的能力卻是不同。
          • 所以,我們要把時間花在多理解業務上,讓自己成為領域專家,只有這樣,才能充分理解業務。多理解一點業務,你才能更好的抽象出業務本質背后的領域模型。很少有人能做到很快理解業務,并很快針對業務設計出正確的領域模型,至少我是不行。
          • 領域建模需要時間,是一個迭代的過程,人無完人。而時間很多時候也不會很充足,所以,不太可能一步到位把領域設計做的很完美。我們在整體項目規劃的時候可能會有個大的架構設計、業務大圖(邊界思維),但是不可能達到領域設計的粒度,只能是一期一期的完善,到最后可能才會有完整的上面的目錄內容。每一期都需要考慮支持的場景約束、上下文、系統邊界、持續集成的相關設計。設計product, not project。

          posted on 2017-02-19 12:14 paulwong 閱讀(752) 評論(0)  編輯  收藏 所屬分類: DDD

          主站蜘蛛池模板: 通海县| 海门市| 吉林市| 曲松县| 那曲县| 东港市| 纳雍县| 清苑县| 嘉荫县| 尚志市| 徐汇区| 张家口市| 龙江县| 余干县| 嘉荫县| 交城县| 韩城市| 成武县| 盐城市| 元朗区| 孝昌县| 铁岭市| 会泽县| 德化县| 哈密市| 朝阳市| 丁青县| 岳西县| 衡山县| 南皮县| 云霄县| 名山县| 福海县| 宁德市| 莆田市| 南丰县| 上高县| 无锡市| 永嘉县| 靖江市| 门源|