开放-封闭原则
开发-封闭原则是指类、函数、模块等等可以扩展、但是不可修改。
无论模块多么的封闭,都可能存在一些无法预料的变化,即使不能完全封闭,依然要对能预想到的变化封闭起来。先猜测最有可能发生变化的种类,然后构造抽象来隔离这些种类的变化(比如接口,抽象类等)。
在最初编码时,也许想象不到什么变化,没有关系,只要当某一刻这个变化发生时,我们就创建抽象来隔离以后发生的同类变化,这就可以了。
面对需求的新增或改动时,对程序的改动是新增形式的,而不是更改现有的代码。
开发人员应该对频繁的变化做出抽象,不是细到每个部分都去抽象,刻意的抽象不是一种成熟的抽象。
相关推荐
-
设计模式——六大设计原则
文章目录 一.单一职责原则 二.里式替换原则 三.依赖倒置原则 四.接口隔离原则 五.迪米特法则 六.开闭原则 一.单一职责原则 单一职责原则简称 SRP,他想表达的就是字面意思,一个类只承担一个职责 ...
-
触摸屏模块种类
16套电气合集PPT1034页,工控人必备,免费领!
-
设计模式6大原则详解
设计模式六大原则: 面向对象语言开发过程中,推荐的一些指导性原则(并不是强制要求的) 1. 单一职责原则(Single Responsibility Principle) 2. 里氏替换原则(Lisk ...
-
HVAC模块性能开发
HVAC模块性能开发
-
设计模式-七大软件设计原则
设计模式 参考资料 图解设计模式 大话设计模式 设计模式之禅 github我见过最好的设计模式 http://c.biancheng.net/view/1326.html 基本原则 开闭原则 在设计的 ...
-
《软件设计的哲学》解读
引言 本书的英文名称为<A Philosophy of Software Design>,由斯坦福大学教授.Tcl 语言发明者 John Ousterhout所著,在bookstack上有 ...
-
JavaScript-在不修改程序源代码增加新功能(开放-封闭原则)
在我们工作中经常会遇到一些"祖传代码"要我们接手,在还没熟悉的时候突然有了新的需求,比如在一个testLoad函数中打印出所有节点的数量.这个难不倒我们,打开编辑器,搜索出 tes ...
-
Observer观察者模式与OCP开放-封闭原则
目录 场景引入 在联网坦克项目中使用观察者模式 总结 在学习Observer观察者模式时发现它符合敏捷开发中的OCP开放-封闭原则, 本文通过一个场景从差的设计开始, 逐步向Observer模式迈进, ...
-
草根手记I正确理解档案“开放为原则,不开放为例外”的观点
对于档案开放,以"开放为原则,不开放为例外"原则的观点在档案界得到了大多数的认可.甚至有人建议:不设置30年的封闭期,从档案形成之日起就开放.不过,新<档案法>并没有采 ...
-
《圣歌(Anthem)》开放封闭内测注册申请,12月8日开始测试
还记得夏天的时候,看到一些很期待的作品要等到2019年的上半年上市,那时还感觉非常遥远,比如说<全境封锁2>.<地铁>.<圣歌(Anthem)>,然而转眼间我们已经 ...
-
一年封闭7个月的中国最美公路即将限时开放!抓紧玩起来!
转眼就到五月,连风里都开始有了夏天的味道.大海.沙滩.冰激凌,火热的夏天一点点向我们靠近了. 但是,除了碧海蓝天,还有一处地方即将限时开放! 这是一个自驾爱好者们公认的朝圣之地,穿行而过,便能感受四季 ...
-
深圳打工仔:曾经上过班的工厂,由封闭到现在的开放,无限感慨
这里是十多年前自己曾经上过班的工厂,那时候厂子挺大,员工也有几百人,两个出入口,不过都有保安看守,相对来说比较封闭式的管理,而如今,这里已经改作它用,有物流中心,有快递公司,也有娱乐设施,并且两个大门 ...
-
城市中封闭小区开放,街区制推广为哪般?
本文由羊羊的地理教室首发,如转载请注明出处 作者 西阁 | 审稿 山竹 由于我国城市居民在选择居住小区时,人们更喜欢安全性高和私密性好的封闭式小区,再加上单位大院建设这样的历史原因,封闭式小区模式 ...
-
移动互联网下半场:开放还是封闭?
砺石导言:用开放对抗封闭,是整个互联网必须要做出的选择. 刘国华 | 文 位于南半球的塔斯马尼亚岛,与澳洲相隔约两百公里,面积差不多相当于两个我国的海南岛.据考证,人类登上该岛的时间至少在4.2万年前 ...
-
西安灞河大桥封闭!现场开始施工,8月开放通行!
西安灞河大桥封闭!现场开始施工,8月份开放通行! 西安灞河特大桥,目前已经实行了全封闭的状态,东西通道已经全封闭,目前只空留了,行人通道和电动车自行车通道,车辆需要绕行,禁止从此施工路段通过. 从现场 ...