`

设计模式学习- 开闭原则

 
阅读更多

开闭原则定义:

一个软件实体如类、 模块和函数应该对扩展开放, 对修改关闭。通俗一点讲,就是一个软件实体应该通过扩展来实现变化,而不是通过修改原有的代码来实现变化。
开闭原则的优点:

1.不修改原有代码,只通过继承或者实现一个接口来完成功能的变更,避免了修改代码带来的风险,大大提升了系统的可扩展性和稳定性。

2.原有代码一般不变,维护人员如果需要新增功能只需要添加新类和新的方法而不需要看懂原来的代码,提高系统的可维护性的同时也增强了系统应对变更的灵活性

3.减少了测试成本,一旦修改了原有方法的代码,那么所有引用该方法的地方都可能需要再重新测试一次,无形中增加了测试的成本。但是如果仅仅是新增了一个方法,那么只需要测试该方法通过即可。

如何使用开闭原则:

1. 抽象约束

第一, 通过接口或抽象类约束扩展, 对扩展进行边界限定, 不允许出现在接口或抽象类中不存在的public方法;
第二, 参数类型、 引用对象尽量使用接口或者抽象类, 而不是实现类;

第三, 抽象层尽量保持稳定, 一旦确定即不允许修改。

2. 元数据( metadata) 控制模块行为
3. 制定项目章程
4. 封装变化

 

 


 

 

 

 

分享到:
评论

相关推荐

    Java23种基本的设计模式整料整理学习源码示例zip

    Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip Java23种基本的设计模式整料整理学习源码示例zip 设计模式的六大...

    尚硅谷设计模式源码笔记课件.zip

    1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种...

    Java设计模式-面向对象七大设计原则

    例如:随着计算机的不断发展,程序学习这门技术也越来越重要,很多人都开启了...面向对象设计原则一共有七个:开闭原则、里氏替换原则、依赖倒转原则、单一职责原则、接口隔离原则、组合/聚合复用原则、迪米特法则。

    Android源码设计模式解析与实战

    主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、...

    Android 源码设计模式解析与实战

    本书的主要内容为:优化代码的第一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器...

    Android源码设计模式解析与实战PDF

    主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、...

    设计模式整体框架与结构

    原则:设计模式遵循六大原则,包括开闭原则、里氏替换原则、依赖倒置原则等,这些原则指导开发者如何正确地应用设计模式。 常用模式:例如单例模式、工厂模式、观察者模式等,每种模式都有其特定的应用场景和解决的...

    《Android 源码设计模式解析与实战》

    主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、...

    何红辉关爱民-Android源码设计模式解析与实战(带书签第2版).pdf

    本书的主要内容为:优化代码的第 一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器...

    何红辉关爱民-Android源码设计模式解析与实战(带书签高清第2版).pdf

    本书的主要内容为:优化代码的第一步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器...

    design-pattern-java.pdf

    从招式与内功谈起——设计模式概述(一) 从招式与内功谈起——设计模式概述(二) 从招式与内功谈起——设计模式概述(三) 面向对象设计原则 面向对象设计原则之单一职责原则 面向对象设计原则之开闭原则 ...

    DisignPatterns:设计模式学习

    #JAVA设计模式学习设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式...

    酒店客房管理系统源码java-design_model:23种设计模式学习记录

    一、设计模式原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性...

    全新150集通俗易懂的Java设计模式

    本教程为授权出品教程 ...授课采用 图解+框架源码分析的方式1) 内容包括:设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和

    酒店客房管理系统源码java-DesignPattern:我总结的一些设计模式学习

    开闭原则(Open Close Principle):对扩展开放,对修改关闭。 在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是: 为了使程序的扩展性好,易于维护和升级。想要达到这样的...

    图解Java设计模式(一)

    1) 优秀的程序应该是这样...授课采用 图解+框架源码分析的方式1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚

    java-patterns:Java 23种基本的设计模式整料整理学习,责任链模式过滤器,工厂模式BeanFactory,观察者模式ContextListen等。结合Spring源码理解学习

    describe:设计模式学习笔记 逻辑结构图 代码结构图 设计模式简述 创建型模式,共五种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式,共七种:适配器模式,装饰器模式,代理模式,...

    Java软件设计模式精讲

    本章将详细介绍开闭原则(OCP)、依赖倒置原则(DIP)、单一职责原则(SRP)、接口隔离原则(ISP)、迪米特法则(LoD)、里氏替换原则(LSP)、合成复用原则(CARP)的具体内容。 为什么需要学习这门课程? 你在...

    设计模式学习之适配器模式

    在我们平时的开发过程中,适配器模式可以说是经常能见到的设计模式,...Adapter,在这两个接口之间创建一个粘合剂接口,将原本无法协作的类进行兼容,而且不用修改原来两个模块的代码,符合开闭原则。定义:适配器模

Global site tag (gtag.js) - Google Analytics