2010-02-08 56 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