SDR*_*yes 5 oop methods design-principles
今天我遇到了对象编程风格,具体类型或接口的基本悖论.
什么是方法的返回类型更好的选择:具体类型还是接口?
在大多数情况下,我倾向于使用具体类型作为方法的返回类型.因为我相信具体类型更灵活,可以进一步使用并提供更多功能.
黑暗的一面:耦合.天使之一:具体类型本身包含您最初要返回的界面,以及额外的功能.
你拇指的规则是什么?
这有什么编程原则吗?
回归类型中的经验法则尽可能具体,参数类型尽可能不具体.也喜欢接口,因为如果需要,您可以稍后交换您的实现,而无需更改API的客户端.
我的经验法则:
1)最初,我有方法返回接口类型,因为如果需要,它总是很容易将其更改为具体类型.更难以回到另一个方向.
2)即使声明方法返回具体类型,我也会尽可能地将调用者编码为使用接口类型:
InterfaceType i = xyz.methodThatReturnsConcreteType();
.
3)我是否拥有调用代码也有所不同(内部与公共API):
其他考虑:
综上所述,
归档时间: |
|
查看次数: |
1962 次 |
最近记录: |