zxg588 发表于 2015-6-16 12:48:57

开放——封闭原则(OCP)

一、基本概念
      OCP: 软件实体(类、模块、函数等)应该可以扩展,但是不可修改。

   解释:即对于扩展是开放的,对于修改是封闭的。
  二、实际技巧

  实际上,无论模式多么的‘封闭’,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。
     即:当变化发生时,我们就创建抽象来隔离以后发生同类的变化。(等到变化发生时立即采取行动)   
  面对需求,对程序的改动是通过增加代码来完成的,而不是改动现有的代码。(例如简单工厂模式思想)
  三、优点

     开放――封闭原则是面向对象的核心所在。这个原则所带来的优点就是可维护、可扩展、可复用、灵活型好。      开发人员应该对程序中呈现出频繁变化的那部分做出抽象,拒绝对任何部分都刻意抽象及不成熟的抽象。
页: [1]
查看完整版本: 开放——封闭原则(OCP)