請教banq,想再新專案使用DDD, 可是思路不是很清晰
學了有兩週的理論了, 網上也看了不少經驗貼 包括ITEYE 與 INFOQ的
不過大部分例子我個人覺得 都只是包結構和 類的定義層級 與傳統貧血模式的區別
用白話說我的理解
從思想上我覺得DDD是希望 把業務 形成細粒度的 模型 ,模型裡包含的是業務的具體屬性和動作,好處是業務可以直觀體現在模型內, 而細粒度的業務變化較少, 一般都是聚合性的業務 也就是業務組合 變化會比較多 這樣把最細的業務動作放在模型內 重用性會很高。
不知道這個概念我理解的對不對?
但是如果一個新的專案,包的層級一定要按某個案例那樣劃分嗎 比如service 還有reponsitry什麼的,而且具體reponsitry與DAO的區別 在網上不斷有爭論 卻沒有權威的定義。reponsitry到底是個啥?
如果領域模型包含了所需的業務方法, 那就需要實際地呼叫, 在例項化領域模型前是否也需要依賴注入進行解耦合, 是否需要實現某介面?
如果非多個領域模型業務動作的組合,就不需要service直接呼叫, 那呼叫者又是誰 ,比如使用MVC框架, 是否由action等控制器來呼叫呢。 還是需要在外面包一層BO類?
由於具有業務屬性, 領域模型是否可以做值物件來傳輸?
其實這種思想如果從根本打通, 可能一切問題都不是問題了, 請@banq 幫我解惑 , 我一定會在新專案中實施DDD, 並且將經驗教訓在這裡與大家分享
不過大部分例子我個人覺得 都只是包結構和 類的定義層級 與傳統貧血模式的區別
用白話說我的理解
從思想上我覺得DDD是希望 把業務 形成細粒度的 模型 ,模型裡包含的是業務的具體屬性和動作,好處是業務可以直觀體現在模型內, 而細粒度的業務變化較少, 一般都是聚合性的業務 也就是業務組合 變化會比較多 這樣把最細的業務動作放在模型內 重用性會很高。
不知道這個概念我理解的對不對?
但是如果一個新的專案,包的層級一定要按某個案例那樣劃分嗎 比如service 還有reponsitry什麼的,而且具體reponsitry與DAO的區別 在網上不斷有爭論 卻沒有權威的定義。reponsitry到底是個啥?
如果領域模型包含了所需的業務方法, 那就需要實際地呼叫, 在例項化領域模型前是否也需要依賴注入進行解耦合, 是否需要實現某介面?
如果非多個領域模型業務動作的組合,就不需要service直接呼叫, 那呼叫者又是誰 ,比如使用MVC框架, 是否由action等控制器來呼叫呢。 還是需要在外面包一層BO類?
由於具有業務屬性, 領域模型是否可以做值物件來傳輸?
其實這種思想如果從根本打通, 可能一切問題都不是問題了, 請@banq 幫我解惑 , 我一定會在新專案中實施DDD, 並且將經驗教訓在這裡與大家分享
[該貼被zouruixin於2012-12-14 11:36修改過]
相關文章
- 請教banq DDD學習問題!
- 向banq老師請教:ddd中的值物件物件
- 你好BANQ,請教模式使用模式
- banq 你好,請教模式模式
- 你好,BANQ,請教模式模式
- 你好banq,請教模式模式
- banq 你好,請教Observer模式Server模式
- 請教banq老師怎樣學習DDD領域建模和設計模式設計模式
- EJBCommand模式向banq請教模式
- 你好BANQ,請教Bridge模式模式
- 請教banq大哥SOAP和HTTPHTTP
- banq,Jdon Framework的問題請教Framework
- banq 你好,再請教幾個模式模式
- 藍橋杯訓練--母牛的故事(很清晰的思路)
- 請教banq,關於java和.net平臺Java
- 請教banq關於domain object的問題AIObject
- 請教BANQ,關於Timer開發
- 你好banq,關於JVM請教一下JVM
- 請教banq大哥,領域模型的設計模型
- 請教Banq和各位道友連線失效問題
- 請教Banq一個Ruby架構的問題架構
- 請教BANQ關於J2EE開發
- 請教BanQ,讀原始碼先讀那個好?原始碼
- j2ee1.4 new feature請教banq
- 前端相容測試思路請教前端
- 請教多專案的設計方案
- 請教專案管理上的問題專案管理
- 請教banq 抽象工廠模式怎樣和工廠方法模式配合使用抽象模式
- 請教一下banq大大,關於SPRING配置檔案格式出錯Spring
- 請教banq老師一個repository的問題
- Banq,請教如何動態實現標準java bean?JavaBean
- 請教banq問題,關於hibernate的jdbc的JDBC
- 請教banq大哥:資料庫設計的問題!!!資料庫
- 請教banq大哥j2ee叢集開發
- 向banq老師請教一組架構問題架構
- 請教板橋:怎樣讀 開源專案?
- 請教banq disruptor中ringBuffer能不能做排序排序
- 請教Banq工廠模式中的一些問題模式