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