领域模型和对象模型

时间:2013-01-04 04:08:59

标签: oop domain-model object-model

  • 什么是域名模型
  • 什么是对象模型

域模型和对象模型是一样的吗? 这两者有什么区别?请用简单的例子来解释。我是这个概念的新手。我在谷歌搜索了很多。但我无法得到任何简单的解释和例子。

4 个答案:

答案 0 :(得分:6)

系统的对象模型是类和对象的集合,根据面向对象原则描述它们与其中包含的属性和方法之间的关系:抽象,封装,继承和多态。

域模型是描述问题域的对象模型。它们包括问题域中的域对象,并描述它们之间的属性,行为和关系。

答案 1 :(得分:1)

根据我的理解,对象模型只涉及数据传输对象,只是没有行为的数据库记录的镜像。

域模型中的实体具有模仿业务规则的数据和行为。域模型不仅包括类,还包括在对象模型中没有意义的接口。

答案 2 :(得分:0)

如果您根据DDD(域驱动设计)来谈论这些概念,那么我不同意前面的答案。 正如作者在其book中指出的

  

域模型不必是对象模型。有模型驱动   例如,在Prolog中实现的设计具有由逻辑规则组成的模型   和事实。

因此,领域模型是基于任何范式的域规则的表示形式,不一定是对象,也可以是任何其他范式,但最重要的是,它必须使域概念和规则清晰明了并与其他技术方面分开。

最后,我们可以说对象模型是域模型的表示形式之一

答案 3 :(得分:0)

域模型=> 对我来说,领域模型与任何特定的代码或软件都是分开的。如果我想出一个与餐厅有关的领域模型,那么我可以在纸上表达我的领域模型(或者只是在脑海中)。我的域模型是一个独立的概念实体,无论我最终是否最终基于该模型编写任何软件。 对象模型=> 我的域模型变成实际代码的地方是在对象模型中。如果我的领域概念包括餐厅,订单和客户,那么我的对象模型可能会包括餐厅,订单和客户等对象。

https://www.codewithjason.com/difference-domains-domain-models-object-models-domain-objects/