OCP原则——开闭原则

OCP

英文:Open-Closed Principle

中文:开闭原则

是什么

我们要让代码同时满足对扩展开放、对修改关闭着两个属性。

对扩展开放表示代码的行为可以扩展。

对修改关闭表示当对代码的行为进行扩展时,其他代码完全不受到影响。

代码如果同事满足这两个属性,就可以在不影响既有代码的前提下扩展功能。

为什么

不论什么软件,只要它还在生命周期内,就一定会发生变化。而且软件的寿命远比我们想象的要长。因此,我们设计的软件要既能适应变化,又能保持长期的稳定。

这就要求代码能够灵活应对变化,对扩展开放,对修改关闭,如果能满足上述要求,就算需求发生变化,我们只要给代码添加新的行为,就能毫无风险的完成对软件的修改。

怎么做

我们要给代码添加接口。

在设计具有某项功能的模块时,如果让模块的使用者客户端直接调用模块的提供者服务器,我们就可以说这个设计是死板的,因为在这种情况下,如果想使用其他服务器,还需要修改客户端。

因此,我们在客户端和服务器之间为模块的使用者设置“客户端接口”,这个客户端接口由服务器实现。

这样一来,在添加拥有新功能的服务器时,只要该服务器上有客户端接口,客户端就可以直接调用新服务器,我们就不用再修改代码了,也就是说,我们可以在不修改当前代码的前提下添加新功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值