设为首页 收藏本站
查看: 2041|回复: 0

[经验分享] 第4章 “开-闭原则”(ocp) (笔记)

[复制链接]

尚未签到

发表于 2016-9-4 10:51:11 | 显示全部楼层 |阅读模式
开闭原则指的是一个软件实体应该对扩展开放,对修改关闭。
Software entities should be open for extension,but closed for modification.
满足“开-闭原则”的设计可以给软件体统2个无可比拟的优越性
1、通过扩展已有的软件系统,可以提供新的行为,以满足软件的新需求,是变化中的软件系统有一定的适应性和灵活性。
2、已有的软件模块,特别是最重要的抽象层模块不能修改,这就使变化中的软件系统有一定的稳定性和延续性。
对可变性的封装原则
(1)可变性不应散落到代码的不同角落里,而应该封装到一个对象里。同一可变性的不同表现意味同一继承等级结构中的具体子类。继承应该看做是封装变化的方法
(2)一种可变不应与另一种可变混在一起,类图的继承关系一般不会超过两层,如超过意味着两种不同的可变性混合到了一起。
与其他设计原则的关系
1、里氏代换原则
里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。一般而言,违反里氏代换原则的,也违背“开-闭”原则,反过来并不一定成立。
2、依赖倒转原则
要依赖于抽象,不要依赖于实现。
“开-闭”原则是目标,而达到这一目标的手段是依赖倒转原则。换言之,要想实现“开-闭”原则,就应当坚持依赖倒转原则。违反依赖倒转原则,就不可能达到“开-闭”原则的要求。
3、合成/聚合复用原则
要尽量使用合成/聚合,而不是继承关系达到复用的目的。遵守合成/聚合原则是实现“开-闭”原则的必要条件;违反这一原则就无法使系统实现“开-闭”原则这一目标。
4、迪米特法则
一个软件实体应当与尽可能少的其他实体发生相互作用。
5、接口隔离原则
应当为客户端提供尽可能小的单独的接口,而不是提供大的总接口。
显然,接口隔离原则与广义的迪米特法则都是对一个软件实体与其他的软件实体的通信的限制。广义的迪米特法则要求近可能限制通信的宽度和深度。接口隔离原则索要限制的是通信的宽度,也就是说,通信应当尽可能地窄。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-267450-1-1.html 上篇帖子: java certification SCJP / OCJP / NCRE / RHCE / OCP / ibm certifications 下篇帖子: OCP认证考试指南全册10g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表