2011-06-15 220 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