ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

六大设计原则--开闭原则

2020-04-17 11:55:32  阅读:261  来源: 互联网

标签:六大 原则 扩展 开闭 修改 抽象 软件


6.开闭原则(Open Close Principle)(OCP)
开闭原则的核心思想:软件应该面对扩展是开放的,而面对修改是关闭的
开闭原则是所有面向对象设计原则的核心,上面的五个原则都是为实现这一目标服务的。软件设计追求的目标就是高内聚,低耦合,可拓展性强。
因此开闭原则认为:软件应该是可扩展、而不可修改的。即软件应该对扩展开放,而对修改关闭。
对扩展开放
也就是说,当有新的需求变化时,可以对现有的代码进行扩展,添加新的实现类,来适应新的情况,因此开闭原则的核心就是**面向抽象编程**。因为只有面象抽象,才可以做到实现的分离,对程序进行扩展。
对修改关闭
类一旦设计完成,就说明它可以独立的完成自己的工作了,不可以再因为功能性的原因对类做出更改。
因此,如果有新的需求,我们只需要添加这个新需求的实现,通过抽象或接口注入新的实现来改变类的行为,而不应该更改已经存在的类。
再设计一个模块时,应该使这个模块再不被修改的前提下进行扩展,不能修改任何源代码。从而保证现有功能的稳定。

需求总是再变化的,只有让类依赖于抽象,才能做到对修改的关闭。通过面向对象的继承和多态机制,实现类继承抽象类,并通过重写其方法来改变他的行为,实现新的扩展。
对于违反开闭原则的类,必须进行重构。封装变化是实现这一原则的重要手段,对于经常变化的状态,将它封装成一个类。
开闭原则的优点:
1. 通过扩展已有的软件系统,可以提供新的行为,以满足软件的新需求,提高软件的灵活性
2. 已有的软件功能,不能进行修改,以保证软件的稳定性

开闭原则的核心就是面向抽象编程,里氏替换原则就是最好的实现,但是一定要避免滥用抽象,只对变化的部分进行抽象。

标签:六大,原则,扩展,开闭,修改,抽象,软件
来源: https://www.cnblogs.com/Zs-book1/p/12718831.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有