領域驅動設計DDD應用心得

banq發表於2009-07-30
Domain Driven Design applied

http://blog.jteam.nl/2009/07/28/domain-driven-design-applied/

作者以給 Osix做的一個無線移動支付系統為例子,談談自己DDD實踐的心得:

DDD 最重要的兩個概念是:
1.無所不在的語言,這個語言將所有角色都包括進來,領域專家、開發者等利益相關者,這個語言是每個人都使用,就無需翻譯,就不會所謂資訊傳遞的複製走樣原理,因為語言只包含名詞和動詞,這就意味著你可以完成 Rich Domain Model。

2.使每件事情明確,類之間關係要明確,並且取名,在OO設計中,取名是一個非常重要的步驟,簡單的名詞就擊中事物本質。

作者起初給一個物件取名為LogEntry,後來諮詢領域專家,認為取internet session 比較好。

作者認為富模型是DDD實施後的邏輯結果Rich Domain Model is the logical consequence of a DDD project。

另外一個極端是put all logic in the domain將所有邏輯都放入領域,這就不叫建模了,使用模型概念就是讓一些東西劃出你的領域範圍之外,因為它們要麼是不相關或不切合實際的實現。




[該貼被banq於2009-07-30 14:50修改過]

相關文章