面象对象设计6大原则之二:开放封闭原则

简介: 开放封闭原则(OCP),The Open Closed Principle定义一个软件的实体,包括类、方法、模块、应该对扩展开放,对修改关闭。

开放封闭原则(OCP),The Open Closed Principle

定义

一个软件的实体,包括类、方法、模块、应该对扩展开放,对修改关闭。

也就是说一个软件的实体应该通过扩展的方式来修改变化,而不是修改已有实体源代码。

开放封闭原则也是最基本需要遵守的原则,我们应该尽量保证系统的稳定性,我们在实现另外一个功能的时候不能修改之前已有的代码以免造成之前的功能出现BUG,带来不必要的麻烦,所以开放封闭原则正是引导我们去设计一个稳定、方便扩展的系统。

在实际应用中我们一般会有以下几种做法保证开放封闭原则:

1、抽象出一个接口或者抽象类,定义公共的方法,达到扩展的目的。

2、参数类型和引用类型使用接口或者抽象类,不能依赖实现类。

3、接口和抽象类不能修改,可以使用继承接口或者抽象父类的形式达到扩展的目的。

这些应用看起来也并不复杂,无非是合理地定义接口和抽象类,不同的业务功能采用不同的实现类达到扩展,像设计模式中的策略模式、模板方式模式等都是开放封闭的原则。

总结一下,开放封闭原则具有以下几个优点:

1、方便扩展,提高了可维护性。

2、不影响已有功能,提高了系统稳定性和减少了重复测试。

3、扩展之前的逻辑,提高了代码复用性。

相关文章
|
3月前
针对抽象编程与对应的好处
针对抽象编程与对应的好处
21 1
|
5月前
|
测试技术
面向对象的 ABAP 里,全局类和局部类有什么区别,以及各自的使用场合试读版
面向对象的 ABAP 里,全局类和局部类有什么区别,以及各自的使用场合试读版
29 1
|
10月前
|
设计模式 Java
【Java设计模式 面向对象设计思想】五 多用组合少用继承编程
【Java设计模式 面向对象设计思想】五 多用组合少用继承编程
149 0
【Java设计模式 面向对象设计思想】五 多用组合少用继承编程
|
10月前
|
设计模式 存储 安全
【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性
【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性
55 0
|
设计模式
面向对象的设计原则最终篇(二)
关于面向对象的设计原则我之前已经解释过四种了,分别是单一职责原则,开放关闭原则,里式替换原则,依赖倒置原则而接下来我们要解释的就是最后的三种原则了,分别是接口隔离原则, 迪米特法则, 组合复用原则。
面向对象的设计原则最终篇(二)
|
设计模式 Java
面向对象的设计原则最终篇(一)
关于面向对象的设计原则我之前已经解释过四种了,分别是单一职责原则,开放关闭原则,里式替换原则,依赖倒置原则而接下来我们要解释的就是最后的三种原则了,分别是接口隔离原则, 迪米特法则, 组合复用原则。
面向对象的设计原则最终篇(一)
|
设计模式
【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
169 0
|
设计模式
【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )
226 0
|
设计模式 Java
教你借助设计模式限制实例化数量 | 带你学《Java面向对象编程》之七十三
开发过程中,如果遇到了某些要求,需要限制实例化类的数量时,需要借助本节介绍到的单例与多例设计模式来实现。
教你借助设计模式限制实例化数量   | 带你学《Java面向对象编程》之七十三
|
Java
编程之代码抽象三原则
编程之代码抽象三原则,这三原则仔细推敲,与23种设计模式不无关系。 23种设计模式,在此我不做详细介绍和说明,因为我目前也正在学习,在学习设计模式的时候,有一点非常重要, 引用王阳明先生的理念“知行合一”,将理论同实践集合起来,这样就不空中楼阁了。
1310 0

热门文章

最新文章