2011-06-15 217 views
3

據說域模型用於捕獲應用程序的問題域。這就是需求所需要的東西等等。但通常,這些模型幾乎非常接近在實施階段可能會出現的類。領域模型和麪向對象領域模型有什麼區別?

但也有一些東西叫做面向對象的領域模型,據說它捕獲了「問題領域的數據抽象」。通過「問題域的數據抽象」這個短語,我將它理解爲「可以分離的問題域的層」。

在這種情況下,域模型和OO域模型有什麼區別?他們都捕獲幾乎相同的東西,不是嗎?

回答

2

想一想,面向對象的一個​​關鍵組成部分是關注點的聚集;對數據進行操作的方法應與該數據分組。通常情況下,域模型將捕獲問題域,但由於問題域「偏心」,域模型可能不會反映適當的關注集羣。面向對象的領域建模只是將領域模型重新映射爲面向對象(即關注集羣)模型。

你說得對,他們捕獲同樣的東西,但關鍵是,領域模型更關心純粹代表問題領域; OODM關心的是以反映適當的面向對象技術的方式表示問題領域。

+1

謝謝!那麼我可以說,在面向對象的域模型捕獲解決方案域時,域模型捕獲問題域嗎?如果是這樣的話,面向對象的領域模型與UML類圖有什麼不同? – Carven 2011-06-15 16:36:06

+0

你很近; OODM捕獲解決方案域,但它不一定是唯一的解決方案域。這是一個面向對象的解決方案領域,但可能有多個,取決於映射。 OODM可以導致一個UML類圖,有時以一種非常直接的方式,但它們不一樣。 OODM代表過程的建模;類圖表示信息建模(處理)。就像我說的那樣,可以導致另一個,但請記住,它們不是同一件事。 – 2011-06-15 17:06:16

+0

非常感謝您的解釋! :) – Carven 2011-06-15 18:20:31