讀《實戰DDD(Domain-Driven Design領域驅動設計:Evans DDD)》想到的
由於最近又回爐(兼職學生),就打算按照課程的安排重新思考一些事情。
講到建模我拜讀了一下板橋里人的《實戰DDD(Domain-Driven Design領域驅動設計:Evans DDD)》<BR>有些問題如下:
1》請允許我說下這片文章的問題,寫文章是為了讓大家都能看懂。所以請用明確的語句明確的寫出您的觀點看法,有些東西對於您來說是呼之欲出的,點到就可以了,但是對於我這個菜鳥級的是做不到的。
您提到的Spring狀態問題。據我瞭解大多數人用Spring管理的業務bean,這些bean99.9999%都是單例的,沒有自己的非執行緒安全的成員變數的,一些和狀態相關的都是值物件,儲存在httpsession中的。這樣的使用方式是不是有問題,如果有具體如何使用呢????
3》對於貧血模式。物件的抽象有兩種方式一個是資料抽象一個是職責抽象,貧血模式更像是資料抽象出來的東西。這樣抽象出來的物件有問題,就是拔了毛的雞就是人的問題,因為人被抽象成沒有毛兩條腿直立行走的動物,所以拔了毛的雞是人。
按照職責抽象我理解可行的操作就是狀態和行為同時抽象。這樣的物件有強行為(不僅僅有getset弱行為)現實告訴我更好用些,我詳細研究了jbpm的程式碼與設計(我可能就是板橋里人說得看電視要先拆了看看構造的人)jbpm是一個非常好的OO以及Hibernate使用的例子。
而通常的做法是同時抽象了行為與狀態,但是又符合了貧血模式。即把狀態單獨放到一個pojo中,有些行為放到dao中。這個似乎是非常流行的做法。但是在使用當中,特別是有體現多型的性的時候,我也確實碰到了一些問題,由於行為和狀態單獨抽象了最後在使用的時候不得不在把他們組合起來。這樣的dao確實也不再是為了資料庫的不同而進行的橋接與適配了。不知道我上述的理解是否正確?板橋里人 真正提倡的又是一種什麼方式呢?
講到建模我拜讀了一下板橋里人的《實戰DDD(Domain-Driven Design領域驅動設計:Evans DDD)》<BR>有些問題如下:
1》請允許我說下這片文章的問題,寫文章是為了讓大家都能看懂。所以請用明確的語句明確的寫出您的觀點看法,有些東西對於您來說是呼之欲出的,點到就可以了,但是對於我這個菜鳥級的是做不到的。
您提到的Spring狀態問題。據我瞭解大多數人用Spring管理的業務bean,這些bean99.9999%都是單例的,沒有自己的非執行緒安全的成員變數的,一些和狀態相關的都是值物件,儲存在httpsession中的。這樣的使用方式是不是有問題,如果有具體如何使用呢????
3》對於貧血模式。物件的抽象有兩種方式一個是資料抽象一個是職責抽象,貧血模式更像是資料抽象出來的東西。這樣抽象出來的物件有問題,就是拔了毛的雞就是人的問題,因為人被抽象成沒有毛兩條腿直立行走的動物,所以拔了毛的雞是人。
按照職責抽象我理解可行的操作就是狀態和行為同時抽象。這樣的物件有強行為(不僅僅有getset弱行為)現實告訴我更好用些,我詳細研究了jbpm的程式碼與設計(我可能就是板橋里人說得看電視要先拆了看看構造的人)jbpm是一個非常好的OO以及Hibernate使用的例子。
而通常的做法是同時抽象了行為與狀態,但是又符合了貧血模式。即把狀態單獨放到一個pojo中,有些行為放到dao中。這個似乎是非常流行的做法。但是在使用當中,特別是有體現多型的性的時候,我也確實碰到了一些問題,由於行為和狀態單獨抽象了最後在使用的時候不得不在把他們組合起來。這樣的dao確實也不再是為了資料庫的不同而進行的橋接與適配了。不知道我上述的理解是否正確?板橋里人 真正提倡的又是一種什麼方式呢?
[該貼被admin於2009-04-28 07:13修改過]
相關文章
- <實戰DDD(Domain-Driven Design領域驅動設計:Evans DDD)>讀後疑問AI
- 實戰DDD(Domain-Driven Design領域驅動設計)AI
- 領域驅動設計(DDD:Domain-Driven Design)AI
- 領域驅動設計(DDD:Domain-Driven Design)轉AI
- DDD領域驅動設計:領域事件事件
- 淺談DDD(領域驅動設計)
- 淺談 DDD 領域驅動設計
- DDD-領域驅動設計示例
- 領域驅動設計(DDD)實踐之路(一)
- 領域驅動設計 (DDD) 簡介 - jannikwempe
- 領域驅動設計(DDD)入門&概要
- 領域驅動設計DDD應用心得
- 一張圖解釋DDD領域驅動設計的戰術概念圖解
- 領域驅動設計(DDD)高手養成記
- 領域驅動設計(DDD)實踐之路(二):事件驅動與CQRS事件
- 去哪兒網領域驅動設計(DDD)實踐之路
- 用 F#和EventStore實現DDD領域驅動設計
- dayatang/dddlib:DDD領域驅動設計庫
- 領域模型驅動設計(DDD)之模型提煉模型
- DDD領域驅動設計初探(7):Web層的搭建Web
- 領域驅動設計DDD和CQRS架構模式落地實踐架構模式
- DDD領域驅動設計初探(5):AutoMapper使用APP
- DDD(Domain Driver Designer) 領域驅動設計簡介AI
- 領域驅動設計(DDD)中模型的重要性 - Jeronimo模型
- 什麼是DDD領域驅動設計的統一語言?
- DDD領域驅動設計初探(3):倉儲Repository(下)
- DDD領域驅動設計初探(2):倉儲Repository(上)
- 領域驅動模型DDD(二)——領域事件的訂閱/釋出實踐模型事件
- 行為驅動開發(BDD)如何與領域驅動設計(DDD)結合?
- 領域驅動設計DDD不具備大規模落地的條件!
- DDD領域驅動設計總結和C#程式碼示例C#
- 分享我的:領域驅動設計(DDD)學習成果精簡總結
- Java開發架構篇《初識領域驅動設計DDD落地》Java架構
- Java開發架構篇:初識領域驅動設計DDD落地Java架構
- DDD領域驅動設計架構模式:防腐層(Anti-corruption layer)架構模式
- <ddd--領域驅動設計學習>討論--------倉儲
- 領域驅動模型DDD(一)——服務拆分策略模型
- 來自DDD社群的論文線上電子讀物:領域驅動設計前15年