域模型和对象模型是一样的吗? 这两者有什么区别?请用简单的例子来解释。我是这个概念的新手。我在谷歌搜索了很多。但我无法得到任何简单的解释和例子。
答案 0 :(得分:6)
系统的对象模型是类和对象的集合,根据面向对象原则描述它们与其中包含的属性和方法之间的关系:抽象,封装,继承和多态。
域模型是描述问题域的对象模型。它们包括问题域中的域对象,并描述它们之间的属性,行为和关系。
答案 1 :(得分:1)
根据我的理解,对象模型只涉及数据传输对象,只是没有行为的数据库记录的镜像。
域模型中的实体具有模仿业务规则的数据和行为。域模型不仅包括类,还包括在对象模型中没有意义的接口。
答案 2 :(得分:0)
如果您根据DDD(域驱动设计)来谈论这些概念,那么我不同意前面的答案。 正如作者在其book中指出的
域模型不必是对象模型。有模型驱动 例如,在Prolog中实现的设计具有由逻辑规则组成的模型 和事实。
因此,领域模型是基于任何范式的域规则的表示形式,不一定是对象,也可以是任何其他范式,但最重要的是,它必须使域概念和规则清晰明了并与其他技术方面分开。
最后,我们可以说对象模型是域模型的表示形式之一
答案 3 :(得分:0)
域模型=> 对我来说,领域模型与任何特定的代码或软件都是分开的。如果我想出一个与餐厅有关的领域模型,那么我可以在纸上表达我的领域模型(或者只是在脑海中)。我的域模型是一个独立的概念实体,无论我最终是否最终基于该模型编写任何软件。 对象模型=> 我的域模型变成实际代码的地方是在对象模型中。如果我的领域概念包括餐厅,订单和客户,那么我的对象模型可能会包括餐厅,订单和客户等对象。
https://www.codewithjason.com/difference-domains-domain-models-object-models-domain-objects/