OOD设计原则之开闭原则(OCP)
2016-09-22 16:17
267 查看
OOD设计原则之开闭原则(OCP)
开闭原则OCP(open-close-principle)在维基百科的定义:在面向对象编程中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变他的源代码的前提下变更他的行为。梅耶开闭原则
勃兰特丶梅耶一般被认为是最早提出开闭原则这一术语的人,1988年在面向对象软件构造中给出,这一想法认为一旦完成,一个类的实现只应该因错误而修改,新的或者改变的特性应该通过新建不同的类实现。新建的类可以通过继承的方式来重用原类的代码。衍生的子类可以或不可以拥有和原类相同的结果。梅耶的定义是提倡继承。具体实现通过继承方式来重用,但是接口规格不必如此。已存在的实现对于修改是封闭的,但是新的实现不必实现原有的接口。
多态开闭原则
在20世纪90年代,开闭原则被广泛的重新定义由于抽象化接口的使用,在这中间实现可以被改变,多种实现可以被创建,并且多态化的替换不同的实现。相比梅耶的使用方式,多态开闭原则的定义倡导对抽象基类的继承。接口规约可以通过继承来重用,但是实现不必重用。已存在的接口对于修改是封闭的。
相关文章推荐
- 一步一步跟我学易语言之第二个易程序菜单设计
- Lua编程示例(二):面向对象、metatable对表进行扩展
- C#中面向对象编程机制之多态学习笔记
- 浅谈Lua的面向对象特性
- Lua面向对象之类和继承浅析
- JavaScript面向对象的两种书写方法以及差别
- 浅谈c# 面向对象之类与对象
- C#面向对象特征的具体实现及作用详解
- C# 面向对象的基本原则
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- 浅谈对c# 面向对象的理解
- C#中设计、使用Fluent API
- Ruby面向对象编程详解
- C# 面向对象三大特性:封装、继承、多态
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- php学习 面向对象 课件第1/2页
- Lua中函数与面向对象编程的基础知识整理
- PHP程序61条面向对象分析设计的经验小结
- 收集学习asp.net比较完整的面向对象开发流程
- javascript 面向对象编程 万物皆对象