[架构]接口行为的扩展

接口行为的扩展,经常面临这样的问题,之前已经定义好一个接口,且该接口已经在很多地方使用到,现在我们想让新增新方法。

如下图所示,已经定义了接口IVedioMedia,已经有RM和Mpeg实现了它。现在如果在IVedioMedia接口中新增resize()方法,那么就要连同RM和Mpeg一同修改,这已经违反了open-close原则,即在添加新功能的同时,不修改原有的、已经存在的代码。这时候我们应该定义新的interface接口——IResizable,之后新建RMAdapter来实现这个接口,同时让RMAdapter继承RM,这样就在实现新功能的同时,不修改IVediaoMedia和RM,做到了不修改已经存在的代码。

©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值