`

设计模式学习-里氏替换原则

阅读更多

里氏替换原则定义:

在一个父类可以出现的地方必须也 可以透明的使用其子类的对象。

里氏替换原则优点:

1.代码共享, 减少创建类的工作量
2.提高代码的重用性
3.子类可以形似父类, 但又异于父类
4.提高代码的可扩展性
5.提高产品或项目的开放性


里氏替换原则缺点:

1.继承是侵入性的。 只要继承, 就必须拥有父类的所有属性和方法;
2.降低代码的灵活性。 子类必须拥有父类的属性和方法, 让子类自由的世界中多了些约束;
3.增强了耦合性。 当父类的常量、 变量和方法被修改时, 需要考虑子类的修改, 而且在
缺乏规范的环境下, 这种修改可能带来非常糟糕的结果——大段的代码需要重构。


 

总结心得:

     在使用里氏替换原则的时候,尽量避免子类的个性,因为一旦子类有了个性,那么当把他当父类使用的

时候,就抹杀了它的这种个性。而如果把他当普通的业务类来使用,那么代码将会变的耦合度比较大,

这又违反另外一个设计原则:依赖倒置原则,即模块和模块之间只依赖于抽象类或者接口,而不依赖于他们具体的实现。

分享到:
评论

相关推荐

    里氏替换原则Demo

    http://blog.csdn.net/xingjiarong/article/details/50081857

    设计模式(六)之里氏替换原则.zip

    里氏替换原则有如下特点: 代码共享,减少创建类的工作量 提高代码的重用性 提高代码的可扩展性 提高产品代码的开放性 继承侵入性 只要继承,必须拥有父类的内容 降低代码的灵活性,子类必须拥有...

    设计模式6大原则:里氏置换原则

    设计模式6大原则:里氏置换原则

    举例解析Java的设计模式编程中里氏替换原则的意义

    主要介绍了Java的设计模式中里氏替换原则的意义,文中举例来说明里氏替换原则中强调的继承特性方面可能带来的问题,需要的朋友可以参考下

    设计模式 之 里氏替换原则

    里氏替换原则的定义有: 如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。 定义很完备,但也不太好...

    设计原则与设计模式

    面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则

    PHP面向对象五大原则之里氏替换原则(LSP)详解

    主要介绍了PHP面向对象五大原则之里氏替换原则(LSP),较为详细的分析了里氏替换原则(LSP)的概念、原理并结合实例形式分析了php里氏替换原则(LSP)的简单使用方法,需要的朋友可以参考下

    24种设计模式介绍与6大设计原则

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

    设计模式之六大原则详解,Markdown笔记

    详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。

    php 设计模式六大原则

    php 设计模式六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 word版

    详解Java设计模式编程中的里氏替换原则

    主要介绍了Java设计模式编程中的里氏替换原则,有这个名字是因为这是由麻省理工学院的一位姓里的女士Barbara Liskov提出来的(嗯...),需要的朋友可以参考下

    设计模式6大原则

    设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。

    24种设计模式与6大设计原则

    策略模式[STRATEGY PATTERN] 代理模式[PROXY PATTERN] 单例模式[SINGLETON PATTERN] 多例模式[MULTITION PATTERN] ...六大设计原则:单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则,开闭原则。

    ASP.NET设计模式-杨明军译(源码)

    5.3.3 里氏替换原则 5.4 小结 第6章 服务层 6.1 服务层介绍 6.1.1 SOA 6.1.2 SOA的4项信条 6.1.3 Facade设计模式 6.2 应用Messaging模式 6.2.1 Document Message和 Request-Response模式 6.2.2 ...

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

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

    设计模式六大原则

    设计模式六大原则(1):...设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则

    设计模式六大原则.doc

    设计模式六大原则(1):...设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则

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

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

    JAVA设计模式六大原则详细讲解(面向对象语言通用)

    里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改...

Global site tag (gtag.js) - Google Analytics