比方說,我有以下方法:請求對象,有什麼優點和缺點?
public Stream GetMusic(string songTitle, string albumName) { ... }
我的一位同事相信,這種不好的方法簽名。他希望我使用請求對象,這會將方法簽名轉換爲:
public Stream GetMusic(SongRequest request) { ... }
我真的不明白這一點。我看到的唯一好處是將來可以更容易地添加參數。我們不需要更改方法簽名,但Request對象仍然需要更改。
就我個人而言,我不認爲這是一個好主意。使用參數可以明確該方法運行的要求。另外,這迫使我們創造另一個不多的對象。
使用Request對象有哪些優缺點?你在項目中使用它,爲什麼?
在未來添加「更容易」的新參數的好處將在以後導致您更改方法的合同並可能影響現有客戶端。因此,如果合同變更,請務必明確,因爲客戶應該知道這一點。 –
只是一個觀察,你可能想排除你自己/同事的意見,以避免問一個主要問題。 –
不。.NET框架不這樣做,足夠說。 –