开放——封闭原则(OCP)

一、基本概念

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

     解释:即对于扩展是开放的,对于修改是封闭的。

 

二、实际技巧

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

     即:当变化发生时,我们就创建抽象来隔离以后发生同类的变化。(等到变化发生时立即采取行动)    

     面对需求,对程序的改动是通过增加代码来完成的,而不是改动现有的代码。(例如简单工厂模式思想)

 

三、优点

     开放――封闭原则是面向对象的核心所在。这个原则所带来的优点就是可维护、可扩展、可复用、灵活型好。

     开发人员应该对程序中呈现出频繁变化的那部分做出抽象,拒绝对任何部分都刻意抽象及不成熟的抽象。

posted @ 2010-05-25 20:11  红脸书生  阅读(542)  评论(0编辑  收藏  举报