设计模式-开放封闭原则

一、简介

开放封闭原则的两个核心是,对扩展开放,对修改关闭.

对扩展开放,也就是说当有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

对修改封闭,也就是说类一旦设计完成,就可以独立完成其工作,尽量不要对类进行任何修改。

遵循这个原则,对程序中呈现出频繁变化的那部分作出抽象,然而对于应用程序中的每个部分都可以的进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要..

二、举例

举一个大话设计模式中的例子:一开始的需求是要加法的程序,后来陆续加入减法、乘法、除法.

在最初设计计算方法的时候或者第一次需求变更时,预判需求频繁变动部分(加入其他的算法规则),抽象出来,应对以后的扩展.

设计模式-开放封闭原则

第一版设计是,客户端直接调用加法类,而后增加需要后,抽象出运算类,每种运算的实现类都继承运算类,完成具体的运算逻辑.客户端调用运算类,不关心具体实现.