我有一个需要设计的操作。该操作采用某个类 X 的两个对象,并返回同一类的两个新对象(我以后可能需要原始对象)。指示选择该对象的逻辑包含在 Y 类中。一方面,我不希望 Y 类知道有关 X 类实现的细节;另一方面,我不希望 X 类知道有关选择不同对象来执行此操作的详细信息。
如果这就是问题的全部,我只需在 A 类上创建一个静态方法。但是,我正在使用的语言中的方法只返回一个对象。此外,该操作需要是健壮的,并且两次调用操作以分别获得 C 和 D 是不可能的,因为 C 和 D 都依赖于单个随机数。
我应该如何设计这样的操作?
更新:我正在使用 Obejctive C。