DDD中的子类和抽象类

Sam*_*l G 1 c# nhibernate domain-driven-design

我有一个名为Person的抽象基类,其子类为Employee和Customer.

您如何处理员工也是客户的情况?如何创建这一系列实体?

干杯

Ree*_*sey 8

如果您希望Employee成为Customer,那么Customer可能不应该派生于person,而是它自己的类层次结构,它(通常)封装了Person.

在许多方面,这更有意义,因为客户也可能是公司或其他形式的实体,而不是人.

  • 很多时候人们认为OO太字面了.Hanselminutes曾经对此进行了一次有趣的讨论,尽管我忘记了Scott与谁交谈.基本上问题是Square a Shape?身体上,是的.但是,如果更改长度,则隐式更改宽度,因此这可能会导致调用代码不期望这样的OO世界中的问题.重点是,有时OO与我们看到周围世界的方式不是1:1. (3认同)