`
zaife
  • 浏览: 41314 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

开放---封闭原则(OCP)

阅读更多
注:摘自《敏捷软件开发:原则、模式与实践》(Robert C. Martin)   
遵循开放封闭原则设计出的模块具有两个主要的特征。
   
    1、“对于扩展是开放的”(Open for extension)
        这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。换句话说,我们可以改变模块的功能。
   
    2、“对于更改是封闭的”(Closed for modification)
        对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。

    OCP原则关键是抽象。
    但对于应用程序中中的每个部分都肆意进行抽象不是一个好主意。正确的做法是,开发人员应该仅仅对程序中呈现出频繁变化的那些部分作出抽象。拒绝不成熟的抽象和抽象本身一样重要。   

    OCP背后的主要机制是抽象(abstraction)和多态(polymorphism)。在静态类语言中,比如C++和Java,支持抽象和多态的关键机制之一是继承(inheritance)。正是使用了继承,我们才可以创建实现其基类(base class)中抽象方法的派生类。
分享到:
评论

相关推荐

    面向对象设计原则(SRP,OCP,LSP,DIP,ISP)

    面向对象 设计原则 单一职责原则--SRP 开放封闭原则--OCP Liskov替换原则--LSP 依赖倒置原则--DIP 接口隔离原则--ISP

    ocp原则

    #### 开放-封闭原则(OCP)概览 开放-封闭原则(Open-Closed Principle, OCP)是软件工程中一个至关重要的设计原则,它由Bertrand Meyer于1988年提出,并由Robert C. Martin进一步阐述和发展。OCP的核心理念在于确保...

    PHP面向对象五大原则之开放-封闭原则(OCP)详解

    开放-封闭原则(Open-Closed Principle,OCP)是面向对象设计(OOD)的五大原则之一,由Bertrand Meyer在1998年提出。该原则旨在指导软件系统的设计,使其能够容易地扩展新功能,同时在扩展时不影响现有代码的稳定性...

    第二十六讲:基础一开放封闭原则

    在软件设计领域,开放封闭原则(Open-Closed Principle,OCP)是面向对象设计的五大原则之一,由Bertrand Meyer在1988年提出。这一原则旨在指导我们如何构建可扩展且易于维护的软件系统。简单来说,OCP 告诉我们,...

    6开放封闭原则-MOOC课程内容.pdf

    开闭原则(Open-Closed Principle,OCP)是面向对象设计原则中的一个核心原则,由Bertrand Meyer提出。它强调软件实体(类、模块、函数等)应当对扩展开放,但对修改封闭。这意味着软件系统的设计应当允许在不修改...

    设计模式之开放封闭原则

    开放封闭原则(Open-Closed Principle,OCP)由Bertrand Meyer在1988年提出,是面向对象设计的五大原则(SOLID)之一。该原则规定,软件实体(如类、模块或函数)应当对扩展开放,对修改封闭。这意味着当需求变化时...

    OCP 1Z0-053讲解视频.zip

    通过观看这些视频,学习者将能够深入理解Oracle 11g数据库的高级特性,掌握日常管理和故障排查技巧,以满足OCP认证考试的要求,并在实际工作中灵活应用开闭原则。 总的来说,"OCP 1Z0-053讲解视频.zip"提供了全面的...

    面型对象设计原则——开闭原则(OCP)的Demo+静态结构图

    简单来说,OCP 告诉我们,软件实体(如类、模块或函数)应当对扩展开放,对修改关闭。 在C#中,OCP 的实现通常涉及接口、抽象类和多态等概念。通过使用这些工具,我们可以确保代码在添加新功能时无需改动原有代码,...

    OCP 1Z0-051讲解视频.zip

    "开闭原则"虽然通常与软件设计原则相关,但在OCP 1Z0-051的上下文中,可能是指课程设计遵循了这个原则,即课程内容对于扩展是开放的,但对修改是封闭的,意味着学习者可以通过增加新知识来扩展他们的技能,而无需对...

    面向对象设计原则 面向对象设计原则

    其中,单一职责原则(SRP)和开放封闭原则(OCP)是两条非常重要的设计原则。 一、单一职责原则(SRP) 单一职责原则是指一个类应该只有一个引起它变化的原因,也就是说一个类应该只有一个职责。这个原则的主要...

    面向对象的设计原则--ooprinciples

    开放关闭原则(Open/Closed Principle, OCP)作为面向对象设计原则的核心之一,强调了如何通过设计使得软件系统既具有开放性又具备封闭性,从而提高系统的稳定性和可扩展性。 #### 二、开放关闭原则概述 **开放关闭...

    浅谈C#设计模式之开放封闭原则

    答案是在程序设计的时候使用开放封闭原则。   但是设计的同时,绝对对修改的关闭是不可能的,无论模块是多么的封闭,都存在一些无法对之封闭的变化,既然不可以完全的封闭,设计人员必须对他设计的模块应该对哪种...

    OOP(面向对象编程)四个基本原则

    这四个原则分别是:开放封闭原则(Open-Closed Principle,OCP)、依赖倒置原则(Dependency Inversion Principle,DIP)、接口分离原则(Interface Segregation Principle,ISP)以及Liskov替换原则(Liskov ...

    ignite-nodejs-rentalx:出租公寓的内部存储库,可以点燃NodeJS

    S => SRP-单一职责原则-责任人O => OCP-开放-封闭原则(Princípioaberto / fechado)L => LSP-Liskov替代原则(PrincípiodeSubstituiçãode Liskov)I => ISP-接口隔离原理(PrincípiodaSegregaçãode接口)D ...

    也有面向对象设计原则.

    #### 原则3:开放-封闭原则(OCP) **开放-封闭原则** - OCP指出软件实体(如类、模块、函数等)应该对扩展开放,对修改封闭。这意味着实体应该易于扩展而无需修改现有代码。 **OCP示例** - 通过实例解释了...

    软件开发设计原则

    2. 开放封闭原则(Open Closed Principle - OCP) 开放封闭原则是指软件实体,如类、模块和函数,对于扩展应该是开放的,但对于修改应该是封闭的。换句话说,可以去扩展类,但不要去修改类。这可以使得代码更加灵活...

    软件架构设计的6大原则.pdf

    2. 开放封闭原则(Open Closed Principle - OCP) 开放封闭原则是指软件实体(如类、模块、函数)对扩展开放,但对修改封闭。这个原则强调了类的扩展性和灵活性,防止类的修改对整个系统的影响。应用时,需要尽量...

    面向对象的设计原则及思想

    2. 开放-封闭原则(OCP,Open-Closed Principle): OCP主张软件模块应该对扩展开放,对修改封闭。这意味着当需要添加新功能时,应优先考虑扩展现有代码,而不是修改已有的、经过测试的代码。这有助于保持代码的...

Global site tag (gtag.js) - Google Analytics