1

我有一个需要设计的操作。该操作采用某个类 X 的两个对象,并返回同一类的两个新对象(我以后可能需要原始对象)。指示选择该对象的逻辑包含在 Y 类中。一方面,我不希望 Y 类知道有关 X 类实现的细节;另一方面,我不希望 X 类知道有关选择不同对象来执行此操作的详细信息。

如果这就是问题的全部,我只需在 A 类上创建一个静态方法。但是,我正在使用的语言中的方法只返回一个对象。此外,该操作需要是健壮的,并且两次调用操作以分别获得 C 和 D 是不可能的,因为 C 和 D 都依赖于单个随机数。

我应该如何设计这样的操作?

更新:我正在使用 Obejctive C。

4

1 回答 1

0

我决定只用静态方法修改给定的对象 A 和 B。在调用此方法之前,我必须复制它们,但我认为它不会比创建新方法慢;无论如何,对象 C 和 D 中的大部分信息都是从 A 和 B 派生的。

(我仍然认为这是一个丑陋的解决方案,并将欢迎更合格的答案)。

于 2012-06-15T21:26:37.280 回答