2012-06-15 71 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.

(我仍然認爲這是一個醜陋的解決方案,並會歡迎更合格的答案)。

相關問題