领域模型,概念模型和商业模式等之间的差异

时间:2014-09-20 09:56:48

标签: oop domain-driven-design domain-model conceptual-model

我对一些让我困惑多年的术语有疑问,我似乎无法弄明白。维基百科倾向于非常正式地解释这些事情,这对我来说很难理解......

我一直在努力理解的术语包括:problem domainconceptual modeldomain modelbusiness modelbusiness domainbusiness logic,域逻辑等等。它们中的一些意思相同,其中一些可以互换使用,其中一些在不同的环境中意味着不同的东西。 我要求的是高级别概述所以我不会对这些条款感到困惑......

这些条款是domain driven design的所有部分吗? OO说话吗?我应该在什么情况下放置它们?

这是我目前所了解的

  • 域是主题(即您正在建模的世界),模型试图简洁地解释概念/主题。
  • 因此,域模型(=概念模型)试图简洁地解释域。
  • 因此,业务模型可以解释业务的作用,因此业务与域名相同,除了域名更广泛,它不仅限于业务。

我在ER建模方面有一些经验,我从wikipedia了解到,ER模型是用于表示概念模型(域模型)的众多技术之一。

我可能完全错了,但它应该告诉你我的困惑在哪里......

1 个答案:

答案 0 :(得分:6)

我怀疑这些术语是否有一个全面,正式的定义,但根据我的经验,以下是普遍接受的定义:

域名是一个值得关注的领域,或者正如您所说,主题。如果关注的领域是企业,那么这将是一个业务领域。问题域一词更为通用。

概念模型是域中概念和关系的抽象:我同意域模型和概念模型这两个术语在很大程度上是可互换的。唯一的区别是术语概念模型强调这是概念的模型,并不反映软件设计。

术语“业务逻辑”和“域逻辑”倾向于引用定义域内实体的正确行为的规则。可以在域模型中捕获这些规则中的一些,例如通过关系约束或使用状态图表。您是否认为域逻辑是域模型的必要部分可能取决于您的建模需要的形式以及相关域。