DDD 我的理解
都在談論DDD 我想說說我的看法,不知對否,望大家執教
所謂的 DDD無異於將所有的業務抽象到領域層,所有的都是物件,所有的物件對自己負責,具體實現時,我的思路是這樣的:
首先對業務領域建模,擯棄以往的以資料為中心的思想,首先不考慮哪些需要持久化,儘管根據業務流程進行建模,建模完成後,到了我們考慮哪些資料需要持久化了。從領域物件中找出需要持久化的資料模型,再次審視所有的業務物件的職責,或者通俗的說 ,方法,把握一個尺度,對於所有與持久化相關的操作,如果是簡單的CRUD則放到對應DAO中,涉及查詢等放到倉儲中查詢,使用工廠進行物件建立,如對於Lazy-load之類的問題則可以透過倉儲和工廠解決。大顆粒度操作抽象到對應服務中。最後就是再次在更高的層次審視整個模型,必要時使用Facade 模式,在系統最上方加一層,如果涉及團隊或老系統整合,在必要的Cotext中新增anti-coruption層……
望大家指教
所謂的 DDD無異於將所有的業務抽象到領域層,所有的都是物件,所有的物件對自己負責,具體實現時,我的思路是這樣的:
首先對業務領域建模,擯棄以往的以資料為中心的思想,首先不考慮哪些需要持久化,儘管根據業務流程進行建模,建模完成後,到了我們考慮哪些資料需要持久化了。從領域物件中找出需要持久化的資料模型,再次審視所有的業務物件的職責,或者通俗的說 ,方法,把握一個尺度,對於所有與持久化相關的操作,如果是簡單的CRUD則放到對應DAO中,涉及查詢等放到倉儲中查詢,使用工廠進行物件建立,如對於Lazy-load之類的問題則可以透過倉儲和工廠解決。大顆粒度操作抽象到對應服務中。最後就是再次在更高的層次審視整個模型,必要時使用Facade 模式,在系統最上方加一層,如果涉及團隊或老系統整合,在必要的Cotext中新增anti-coruption層……
望大家指教
相關文章
- DDD的理解問題
- 面試官:談一下你對DDD的理解?我:馬什麼梅?面試
- 透過重構來加深理解——DDD
- 我們團隊是如何落地DDD的(1)
- 如何理解DDD中的不變性,不變數變數
- 為了落地DDD,我是這樣“PUA”大家的
- 為什麼我越來越喜歡用DDD — DDD架構篇(1)架構
- 我對抽象的理解抽象
- 我所理解的Arthas
- 我所理解的前端前端
- 我對引擎的理解
- 我對SNS的理解
- 命令模式(我的理解)模式
- 我所理解的機器學習機器學習
- 我理解的ES6
- 我對JavaScript物件的理解JavaScript物件
- 我理解的 Java 泛型Java泛型
- 我所理解的微服務微服務
- 我所理解的 CocoaPods
- 我的JAVA運算子理解Java
- 我理解的大資料大資料
- 我對聚合根的理解
- 我理解的雲端計算
- 當我老了,請理解我
- 我理解的分散式系統分散式
- 我理解的前端視覺化前端視覺化
- 我理解的前端發展方向前端
- 我所理解的雲原生(二)
- 我理解的正規表示式
- 我對註冊中心的理解
- 說說我對 WSGI 的理解
- 我是這樣理解EventLoop的OOP
- 我所理解的介面設計
- Block 我所理解的回撥BloC
- 我理解的 KMP 演算法KMP演算法
- 我對smarter planet的理解
- 我對事件驅動的理解事件
- 我所理解的執行力