S-5-开闭原则

总目录:地址如下看总纲

https://www.jianshu.com/p/63df8cd03619

1、开闭原则的介绍:

  1. 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则
  2. 一个软件实体(如类),模块和函数应该对扩展开放(对提供方),对修改关闭(对使用
    方)。用抽象构建框架,用实现扩展细节。【开放的开,就是开闭的开;修改关闭的关,
    就是开闭的闭。开是对提供者开放,关闭是对使用者关闭(有点像封装 哦)】
  3. 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已
    有的代码来实现变化。
  4. 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。

2、案例一:绘制图形(矩形,原型,三角形。。。)在没有开闭原则的条件下

1、优点:简单(可以说没有优点)
2、缺点:缺点是违反了设计模式的ocp(开闭)原则,即对扩展开放(提供方),对修改关闭(使用方)。
[【即当我们给类增加新功能的时候,尽量不修改代码,或者尽可能少修改代码】
3、下面代码说明:通过下面代码,可以看出,每一次新增绘制的图案,都需要修改很多地方。

S-5-开闭原则_第1张图片
image.png

S-5-开闭原则_第2张图片
image.png

3、案例二:绘制图形(矩形,原型,三角形。。。),满足开闭原则设计

思路:把创建 Shape类做成抽象类,并提供一个抽象的draw方法,让子类去实现即可,这样我们有新的图形种类时,只需要让新的图形类继承Shape,并实现draw方法即可,使用方的代码就不需要修→满足了开闭原则

S-5-开闭原则_第3张图片
image.png

你可能感兴趣的:(S-5-开闭原则)