今天我來到了對象編程風格,具體類型或接口的基本悖論。返回類型的具體類型或接口?
最好的方法的返回類型是什麼:具體類型或接口?
在大多數情況下,我傾向於使用具體類型作爲方法的返回類型。因爲我相信一個具體的類型對於進一步的使用更加靈活,並且暴露更多的功能。
這個陰暗面:耦合。 天使之一:一個具體的類型包含你最初將要返回的接口和額外的功能。
你的拇指規則是什麼?
這是否有任何編程原則?
BONUS:這是我的意思拇指ReadOnlyCollection or IEnumerable for exposing member collections?
感謝您的意見Dominik +1 – SDReyes 2010-04-21 00:09:06
'MyCustomExtendedArrayList'比'List'更具體。你會回來什麼? – BalusC 2010-04-21 00:15:49
@BalusC:取決於List的另一個實現,或者它提供了一些自定義方法。如果它只能通過投射來使用,那麼它會返回一個專門的類有什麼意義? – Dominik 2010-04-21 01:45:56