开放-封闭原则—大话设计模式(简约)

开放—封闭原则(The Open—Closed Principle)

 

   是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改

 

   对于扩展是开放的,对于修改是封闭的

 

   无论模块是多么“封闭”,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须对于他设计的模块对哪种变化封闭做出选择,他必须先猜测出最有可能发生的变化种类,然后构建抽象来隔离那些变化

 

   在我们最初编写代码时,假设变化不会发生,当变化发生时,我们就创建抽象来隔离以后发生的同类型的变化

 

   在简单工厂模式中,为了实现加法运算,首先定义了一个加法类,但今后可能还要处理减法、乘法、除法等等,这里就产生的变化,那么我们就需要将这些变化分离出来,可以抽象出来一个运算类,各种运算的具体类继承运算类,实现运算方法

   如果今后还有其它运算操作,只需继承运算类,实现具体的运算操作即可,方便编码,且易于维护

 

开放-封闭原则—大话设计模式(简约)

 

   开放-封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的部分做出抽象,然而,对于应用程序中的每个部分都刻意的进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要。