首页 > 其他 > 详细

设计原则-OCP开闭原则

时间:2020-04-18 14:26:32      阅读:34      评论:0      收藏:0      [点我收藏+]

1.定义

设计良好的类或者模块应该对扩展开发,对修改关闭。

添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。

2.分析

为什么要使用开闭原则?

使用开闭原则能够限制对现有代码的修改,这会降低引入新的BUG的风险,其实我们在对原有代码修正Bug时也会引入更多BUG,所以,如果原有代码的Bug不是很致命,或者可以通过拓展增加代码来避免,那么尽量不要破坏封装。

不使用开闭原则的弊端?

对一个程序的单一的改变导致依赖模块的级联式改变。(一发动全身)

3.实例

一个例子,用手开门和关门。

技术分享图片

 

 如果有新的需求,需要增加手开抽屉和关抽屉的功能。对于代码方面,需要增加一个Drawer类,同时修改Hand类。

技术分享图片

 

 遵循OCP开闭原则的例子,手开门和关门依赖于一个接口,具体的实现类实现这个接口。

技术分享图片

 

 当需要增加手开冰箱和关冰箱时,冰箱类实现这个接口,不需要修改原有Hand类和接口。

技术分享图片

 

设计原则-OCP开闭原则

原文:https://www.cnblogs.com/windpoplar/p/12724986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!