設計する必要がある操作があります。この操作は、特定のクラス X の 2 つのオブジェクトを取得し、同じクラスの 2 つの新しいオブジェクトを返します (後で元のオブジェクトが必要になる場合があります)。このオブジェクトの選択を指示するロジックは、クラス Y に含まれています。一方で、クラス Y にクラス X の実装に関する詳細を知られたくありません。他方では、この操作を実行するさまざまなオブジェクトの選択に関する詳細をクラス X に知られたくありません。
それだけの問題なら、クラス A に静的メソッドを作成するだけです。しかし、私が取り組んでいる言語のメソッドは、オブジェクトを 1 つだけ返します。また、操作は堅牢である必要があり、C と D の両方が単一の乱数に依存しているため、操作を 2 回呼び出して C と D をそれぞれ取得することはできません。
そのような操作をどのように設計すればよいですか?
更新:Obejctive C を使用しています。