开闭原则(open-close principle)

对继承开放、对修改关闭(继承了就不能修改原来父类的方法)

Open for extension

Closed for modification

时间: 2024-10-05 09:35:38

开闭原则(open-close principle)的相关文章

“开-闭”原则 (Open-Closed principle, OCP)

"开-闭"原则 (Open-Closed principle, OCP) 一个软件实体应当对扩展开放,对修改关闭. Software entities should be open for extension, but closed for modification. 在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展. "可变性的封装原则"从工程的角度讲解了如何实现"开-闭"原则. "可变性的封装原则"意味着两

设计原则之开闭原则Open Close Principle

翻译自http://www.oodesign.com 设计原则之开闭原则 动机:一个聪明的应用设计和代码编写应该考虑到开发过程中的频繁修改代码.通常情况下,一个新功能的增加会带来很多的修改.这些修改已存在的代码应该要最小化, 总结:软件应该对扩展开发,对修改关闭.装饰器模式,观察者模式,工厂模式可以帮助我们队代码做最小的修改. Bad Example: 缺点: 1.当新的shape被添加,开发者要花大量时间去理解GraphicEditor源码.. 2.添加新shape也许会影响已经存在的功能 /

开闭原则 Open Closed Principle

开闭原则的介绍: 1) 开闭原则(Open Closed Principle)是编程中最基础.最重要的设计原则2) 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方).用抽象构建框架,用实现扩展细节.3) 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化.4) 编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则. 错误示例 package com.kittenplus.principle.ocp; public cla

"围观"设计模式(6)--开闭原则(Open/Closed Principle)

在面向对象编程领域中,开闭原则规定"软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的",这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为.该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用质量的过程.遵循这种原则的代码在扩展时并不发生改变,因此无需上述的过程. 开闭原则的命名被应用在两种方式上.这两种方式都使用了继承来解决明显的困境,但是它们的目的,技术以及结果是不同的.----WI

设计模式六大原则(六): 开闭原则(Open Closed Principle)

定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 问题由来: 在软件的生命周期内,因为变化.升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试. 解决方案: 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化. 开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统. 开闭原则可能是设计模式六项原则中定义最模糊的一个了,它只告诉我们

.NET 高级架构师 架构师之路(5)---开闭原则

2 开闭原则(Open-Closed Principle,OCP) 2.1 什么是开闭原则     开闭原则是面向对象设计中"可复用设计"的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段. 1988年,Bertrand Meyer在他的著作<Object Oriented Software Construction>中提出了开闭原则,它的原文是这样:"Software entities should be open for e

C#设计模式系列:开闭原则(Open Close Principle)

1.开闭原则简介 开闭原则对扩展开放,对修改关闭,开闭原则是面向对象设计中可复用设计的基石. 2.开闭原则的实现 实现开闭原则的关键就在于抽象,把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出所有的具体实现必须提供的方法的特征.作为系统设计的抽象层,要预见所有可能的扩展,从而使得在任何扩展情况下,系统的抽象底层不需修改:同时,由于可以从抽象底层导出一个或多个新的具体实现,可以改变系统的行为,因此系统设计对扩展是开放的. 3.如何使用开闭原则 抽象约束 1>.通过接口或者抽象类约束扩展

Open Closed Principle(OCP)开闭原则

面向对象的最基本原则 Software entites like classes,modules and functions should be open for extension but cloased for modifications一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 我们在实际开发过程的设计开始阶段,就要罗列出来系统所有可能的行为,并把这些行为加入到抽象底层,根本就是不可能的,这么去做也是不经济的. 因此我们应该现实的接受修改拥抱变化,使我们的代码可以对扩展开放,

设计模式之开闭原则

Open-Closed Principle软件设计中的“开-闭原则” 这个原则最早是由Bertrand Meyer提出,英文的原文是:Software entities should be open for extension,but closed for modification.意思是说,一个软件实体应当对扩展开放,对修改关闭.也就是说,我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换句话说就是,应当可以在不必修改源代码的情况下改变这个模块的行为. 满足OCP的设计给