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

su9257_海澜  IP属地: 上海
字数 439

开放和关闭到底是什么

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

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

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

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

如何确保关闭

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

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

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

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

如何做到开放

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

和依赖反转有什么区别

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
su9257_海澜  <br>【一个爱讲故事的无趣灵魂】
总资产131共写了16.5W字获得933个赞共798个粉丝

推荐阅读更多精彩内容