实体类可以从Value Object继承吗?

时间:2013-06-18 14:13:31

标签: domain-driven-design

在我的业务领域,实体“CompanyPrefix”似乎扩展了保留所有业务规则的VO CompanyPrefixVO。没有其他课程会使用此VO。作为一个好习惯:

  1. 我应该从CompanyPrefixVO扩展CompanyPrefix吗?或
  2. 删除VO并将业务规则合并到实体CompanyPrefix中?或
  3. CompanyPrefix只应与CompanyPrefixVO相关联?或
  4. 完全不同的东西?
  5. enter image description here

1 个答案:

答案 0 :(得分:1)

继承可能会导致许多问题,首先是高耦合和强依赖性,这可能会阻碍您的域模型的发展。我改用合成。值对象可以是实体的一部分。

那说我也问了几个问题:CompanyPrefix会是什么样的商业实体?它不仅仅是名称或标识符的一部分吗?它是否具有自己的生命周期,即它是否会随着时间的推移而改变其属性?为什么前缀需要ID?仅用于规范化(也就是不属于域模型的数据库详细信息?)

我不知道您的具体案例,但可能会有一个代表公司前缀的VO作为公司的一部分。