實踐ddd,太讓人沮喪了。。

berserk發表於2012-02-17
現在很沮喪啊。。。
前段時間負責的專案,雄赳赳的採用領域物件的方式來建模和編寫。
將系統分成: controller > 粗粒度service > context > repository > dao 這幾層來進行開發,
同時,借鑑 dci的架構 將bo的行為移到了role中。同時對bo進行了快取。
本來覺得挺好的,但在實踐中,
卻遇到了不少問題:
原有系統架構下的快取在叢集下同步問題,
開發方式改變的不適應問題。
除了這些客觀的原因。
更致命的是,由於是第一次嘗試,經驗不足,不能很好的分離領域物件,和它們之間的關係!
很多時候不知不覺就使用了原來的開發方式,
比如,
一個repository,寫著寫著就成了dao。。。
一個service,寫著寫著就把role,context的事做了。。
一個bo,寫著寫著,不知道該咋維護它的狀態了,哪裡都擔心出問題,沒有使用db那麼踏實。

很多時候不知道怎麼用領域設計的思路來抉擇,
比如,
記錄的分頁查詢,是直接使用dao呢,還是組裝bo?
往前臺傳送的資料應不應該是bo?
bo太過重量級,它裡面的每個關聯物件是不是該使用懶載入方式呢,但這樣會不會讓bo的程式碼很冗餘?
bo的狀態該怎麼維護呢。。。
等等,這段時間頭都大了,不停的修改程式碼,但系統功能開發並沒有多大進展。。
距離程式碼打包期越來越近,人也越來越焦慮,時時有使用原來的 controller > service > dao開發方式幾下子搞定的衝動。。
ddd 遠看很美好,實踐起來很困難。。。唉, 沮喪的很。。。

相關文章