2012-06-15 41 views
1

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

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

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

更新:我使用Obejctive C.

+2

也许如果你告诉我们你正在使用的语言可能有帮助 – mathematician1975

+2

你知道什么是元组吗? –

+0

也许您可以创建一个Mapper,它将X信息转换为Y对象,让Y对象执行内部映射,然后将其重新转换为X对象。如果你不是更具体,我们不能真正帮助你。 :( –

回答

0

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

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

相关问题