梦想飞翔

自强不息
posts - 111, comments - 30, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

第四章 开---闭原则(OCP)

Posted on 2009-03-12 09:57 love1563 阅读(193) 评论(0)  编辑  收藏 所属分类: 设计模式

4.1  什么是开---闭原则

        开---闭原则讲的是:一个软件实体应当对扩展开放,对修改关闭。Software entities should be open for extension,but closed for modification.
        这个原则说的是,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。换言之,应当可以在不必修改源代码的情况下改变这个模块的行为。
        满足开---闭原则的设计可以给一个系统两个无可比拟的优越性:
        ·通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定适应性和灵活性。
        ·已有的软件模块,特别是最重要的抽象层不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。
        具有这两个有点的软件系统是一个在高层次上实现了复用的系统,也是一个易于维护的系统。
                                                                                                4.2  怎样做到开---闭原则
玉帝招安美猴王


不劳师动众、不破坏天规便是“闭”,收仙有道便是“开”。招安之法便是玉帝天庭的“开--闭”原则,通过给美猴王封一个“弼马温”的官职,便可使现有系统满足变化了的需求,而不必更改天庭的既有的秩序,如下图:


        招安之法的关键便是不允许更改现有的天庭秩序,但允许将妖猴纳入现有的秩序中,从而扩展了这一秩序。用面向对象的语言来讲,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层。


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问