今天我来到了对象编程风格,具体类型或接口的基本悖论。返回类型的具体类型或接口?
最好的方法的返回类型是什么:具体类型或接口?
在大多数情况下,我倾向于使用具体类型作为方法的返回类型。因为我相信一个具体的类型对于进一步的使用更加灵活,并且暴露更多的功能。
这个阴暗面:耦合。 天使之一:一个具体的类型包含你最初将要返回的接口和额外的功能。
你的拇指规则是什么?
这是否有任何编程原则?
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