扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
即使你使用了接口+基类的方式,也不能保证你API的演化。
我认为,如果可能的话,在为基类添加新方法的同时,也应该在接口中添加新的方法。我向来如此,也没有出现过什么问题。
很清楚的一点就是,如果这样做了,接口的定义改了,如果一个类是直接实现这个接口,就需要实现所有的方法。
Michael Feathers 写道:
在什么环境下我们要同时提供接口和抽象类呢。
接口+基类并不是可以用于所有的场景!
大部分情况下,我都会使用接口+基类这种方式,不过这种方式也会带有几个缺点。
如果你的API比较复杂,很难找到一个准确的入口点来使用你的API。比如说我需要一个IX,但是我要一步步的向下查找AbstractX,以及相关的实现,这种接口+基类的方式加深了继承的层次,增加了API的复杂度。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。