2008-12-10 73 views
3

我讀到域驅動設計是關注問題域而不是專注於軟件。他們說,解決問題領域的複雜性要比軟件的複雜性要容易得多,因爲解決了領域問題之後,您也更清楚如何構建軟件。他們還說,實際上這個領域比軟件的結構更復雜,或者如果你沒有看到樹林裏的森林,你就會陷入困境。域驅動設計與僅使用規範有什麼不同?

但是域驅動設計與僅使用軟件規範有什麼不同?我的意思是,我們當然應該在開始編碼之前瞭解問題域。 DDD是否重新發明了輪子?

回答

3

域驅動設計更多的是建立您和域專家都可以使用的世界(和相關的通用語言)的通用模型。

從理論上講,這意味着開發人員可以編寫類似於問題域描述的代碼,領域專家可以查看開發人員的肩膀並瞭解發生了什麼。

一個規範沒有對世界的共同語言或模型作出這樣的承諾,它只是說「我們要建立一些特定的東西」。您提出的高度指定的班級模型可能有用,但它可能不能很好地反映「現實」。

關於域驅動設計here有一本不錯的免費書(不幸的是需要登錄)。