设计原则-OCP开闭原则

1.定义

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

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

2.分析

为什么要使用开闭原则?

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

不使用开闭原则的弊端?

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

3.实例

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

 

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

 

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

 

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

 

posted @ 2020-04-18 11:59  windpoplar  阅读(248)  评论(0编辑  收藏  举报