2010-02-08 109 views
1

我有一个名为Person的抽象基类,子类Employee和Customer。DDD中的子类和抽象类

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

干杯

回答

8

如果你希望员工成为一个客户,那么客户可能不应该从人获得,但要它自己的类,(典型值)封装了一个人层次。

从很多方面来看,这更有意义,因为客户也可能是公司或其他形式的实体,而不是个人。

+3

+1很多人认为OO太字面。 Hanselminutes曾经对此进行过有趣的讨论,尽管我忘记了Scott正在与谁交谈。基本上问题是Square a Shape?身体上,是的。但是,如果更改长度,则会隐式更改宽度,因此这可能会导致OO世界中的调用代码不期待的问题。要点是,有时候我们看到周围的世界时OO不是1:1。 – hackerhasid 2010-02-08 19:22:26