搬砖方法论:Open Closed Principle(开闭原则又叫OCP原则)

开放和关闭到底是什么

我们可以看一下对于开闭原则的定义:
软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的。
或者更简洁:对扩展开放,对修改关闭。

其实我们可以把扩展和修改进行细分。

扩展:增加原来没有的功能。修改:对已经含有的功能做规则上的更改。

这里面的开闭是以功能为单位,比较成功的应用就是插件,插件的增加和删除,并不会干扰系统中的其他插件,插件间也相互独立。

如何确保关闭

要确保关闭需要做到一下两点

  • 抽象化:确定其核心功能

  • 轻量化:减少无关依赖项,做到功能最简。

功能交叉、覆盖面广是很难保证关闭的。

如何做到开放

抽象(abstract)和接口(interface)是必不可少的,重写(override)可在原有功能的概念上更改不同的实现方式,接口不仅含有override的好处,而且对功能的划分更加友好,基于扩展函数的使用,可对不同功能进行相应的扩展。
扩展的核心是依赖数量和方向上的控制。

和依赖反转有什么区别

开闭原则的关注点是对功能变更的应对手段。依赖反转的关注点是对分层策略、模块解耦的控制。


更多文章详见主页:www.aihailan.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值