我有一个我需要设计的操作。该操作接受某个类X的两个对象,并返回同一类的两个新对象(稍后我可能需要原始对象)。决定选择这个对象的逻辑包含在Y类中。一方面,我不希望Y类知道有关类X实现的细节;另一方面,我不希望类X知道有关选择不同对象以执行此操作的详细信息。
如果这就是问题所在,我只是在A类上创建一个静态方法。但是,我正在处理的语言中的方法只返回一个对象。此外,操作需要是稳健的,并且分别调用操作两次以分别获得C和D是不可能的,因为C& C都是如此。 D都依赖于一个随机数。
我应该如何设计这样的操作?
更新:我正在使用Obejctive C。
答案 0 :(得分:0)
我决定只修改给定的对象A& B用静态方法。在调用这个方法之前我必须复制它们,但我认为它不会比创建新方法慢;对象C& C中的大部分信息。 D来源于A& B无论如何。
(我仍然认为这是一个丑陋的解决方案,并欢迎更合格的答案)。