我有以下簽名的方法:foo(樣本樣本,等分樣本)什麼模式用於多參數方法?
「foo」需要更改一個Sample對象,無論是第一個參數還是第二個參數,它都可以提取其Sample。例如:
foo (Sample sample, Aliquot aliquot) {
Sample out = null;
if (sample != null)
out = sample
else
out = aliquot.getSample()
return out;
}
但就是這樣比閱讀API開發人員不知道第一個參數的參考聯合國優雅,其他覆蓋第二個參數的樣品。現在
,我可以改變「富」爲foo(SomeMagicalObject條),其中SomeMagicalObject是樣品和分裝的元組,並擁有一些邏輯...等
但我想知道,是否有一些模式的這個問題?
如果該方法操縱一個'Sample',那麼傳入一個'Aliquot'並沒有多大意義。建議'foo(Sample)'是更好的方法。如果需要,調用者總是可以使用'foo(aliquot.getSample())'。 – msandiford 2010-05-14 00:55:50
是的,我同意。他給出的例子非常微不足道,我認爲該方法可能對Sample或Aliquot做了其他的事情。 – 2010-05-14 00:59:48