【发布时间】:2011-10-26 17:51:18
【问题描述】:
起初,我有一个类 A,它将列表 B 作为构造函数参数。此列表 B 保存在 A 类中的一个变量中。另一个使用这个类 A 的类需要列表 B 中的数据,但方式不同。因此,我创建了一个特定的对象 C,并在 A 类中有一个 getSomething() 方法,该方法根据原始列表 B 中的信息动态创建了这些对象 C 中的一个。这很好用。
然后事实证明,调用 getSomething() 的类需要一些原始列表 B 不包含的额外信息。然而,对列表 B 中特定元素的小计算给了我这些信息。该信息需要添加到对象 C。这个计算有点繁重,所以当我在 getSomething() 中创建对象 C 时,我不想即时执行它。这给了我一个问题,因为我不能用这个计算的信息更新对象 C 的任何元素,因为对象 C 的元素还不存在,它们是在 getSomething() 中创建的。
我应该如何以最好的方式解决这个问题。可能有什么模式吗?
-
我是否在A类的构造函数中将列表B中的元素转换为对象C的列表然后丢弃列表B,然后进行计算并更新对象C的所有元素?
我是否保留了原始列表 B 和对象 C 的列表,并且有两个具有几乎相同信息的变量,只是以不同的方式呈现?
还是别的什么?
编辑:C 不是列表 B 中元素的扩展,它更多的是列表 B 中的一个或多个元素组合成一个 C。
【问题讨论】:
-
如果我理解.. C 不应该从 A 继承吗?
-
你能提供一个代码示例吗? :P