zoukankan      html  css  js  c++  java
  • 2、面向对象设计模式之开放封闭(开闭)原则

    开闭原则(Open-Closed Principle,OCP)定义如下:

      一个软件实体应当对扩展开放,对修改关闭。也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。

      软件实体,比如说类,模块,功能等,应当为扩展开放,但是对修改关闭,什么意思呢?就是说,在一个现有的工程完毕之后,以后所有新添加的功能应当在不修改原有代码的基础上进行,不应当在已有的代码上进行任何的代码修改或者逻辑添加操作。

      开闭原则由Bertrand Meyer于1988年提出,它是面向对象设计中最重要的设计原则之一。

      在开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部构成或一个独立的类。

      抽象化是开闭原则的关键。

      开闭原则还可以通过一个更加具体的“对可变性封装原则”来描述,对可变性封装原则(Principle Encapsulation of Variation,EVP)要求找到系统的可变因素并将其封装起来。

      我们希望在开发工作不久就知道可能发生的变化,查明可能发生的变化等待的时间越长,要创建正确的抽象就越困难。开闭原则是面向对象设计的核心所在。

      遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员应该对程序中呈现出频繁变化的那些部分做出抽象。

      然而,对于应用程序的每个部分都可以进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。尽量的抽象并非好事。

      

  • 相关阅读:
    Security headers quick reference Learn more about headers that can keep your site safe and quickly look up the most important details.
    Missing dollar riddle
    Where Did the Other Dollar Go, Jeff?
    proteus 与 keil 联调
    cisco router nat
    router dhcp and dns listen
    配置802.1x在交换机的端口验证设置
    ASAv931安装&初始化及ASDM管理
    S5700与Cisco ACS做802.1x认证
    playwright
  • 原文地址:https://www.cnblogs.com/sy-liu/p/13029041.html
Copyright © 2011-2022 走看看