【发布时间】:2015-12-18 06:06:38
【问题描述】:
谁能告诉我定制业务对象的最佳方式,该业务对象来自一套核心业务对象(现有框架),方法如下:
假设我们的对象是 Employee,它继承自 Person。 Person 有一个对象集合,Phone Number(由底层框架指定) 我想重新定义这个对象,指定新的字段,所以我创建了对象 NewPhoneNumber,它继承自 PhoneNumber。
如何在不改变底层框架的情况下让 Employee 使用 NewPhoneNumber?
A) 复制代码库,在我的代码中进行我想要的更改以反映这一点(即,这不再使用底层代码库,而是几乎复制它)。 IE。将 Employee 对象创建为与 Person 几乎相同但有变化的对象? B) 在 Employee 对象上创建一个新的集合属性,公开一个 NewPhoneNumber 的集合,这会产生一个奇怪的对象定义。
A 似乎是唯一真正的解决方案,但奇怪的是看起来不是很 OO。
我特别不想更改代码库,我只想继承和扩展定义。底层对象仍然是具有 PhoneNumbers 的 Person,它仅由 Employee 和 NewPhoneNumber 扩展。
我正在使用 .Net(特别是 VB)
谢谢
【问题讨论】: