首页 > 其他分享 >【设计模式之禅】里氏替换原则

【设计模式之禅】里氏替换原则

时间:2023-08-15 22:55:22浏览次数:40  
标签:设计模式 原则 之禅 里氏 代码 子类 父类 替换

  • 什么叫里氏替换原则?

    "这里需要如下的替换性质:若对类型S的每一个对象O1,都存在一个类型T的对象O2,使得在所有针对T编写的程序P中,用O1替换O2后,程序P的行为功能不变,则S是T的子类型。"这是最专业最权威的定义,但是我当时就是看不懂这句话,看完这个章节也没有完全理解,只能通俗易懂的来描述:让子类中的方法参数或者返回结果是相同的或者是父类的子集

  • 书中的里氏替换原则

    这本书真的写的特别特别好,能够让我这个对计算机不是很感兴趣的人读的很起劲,原因就是在于他用词接地气,并且举了很多有趣的例子,比如说反恐精英中开枪方法的入参是玩具枪,虽然是枪的子类,但是没有满足业务需要,所以子类一定也是可以满足父类的业务需求的,如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”,则建议断开父子继承关系,采用依赖、聚集、组合等关系代替继承。

  • 里氏替换原则的优势
    1. 代码共享,即公共代码被抽到父类。
    2. 提高代码重用性,子类在父类的基础上可以有自己的特性。
    3. 提高代码的扩展性。
  • 里氏替换原则的实际应用  

    emmmmmmmm,暂时想不到,期待大佬补充,我只想到在做代码review的时候,不去修改抽象类.........

标签:设计模式,原则,之禅,里氏,代码,子类,父类,替换
From: https://www.cnblogs.com/GG-Bond1/p/17632667.html

相关文章

  • 设计模式--观察者模式
    简介观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。例如,Excel中的数据与折线图、饼状图、柱状图之间的关系组成发布者(Publisher)会向其他对象发送关注的事件。事件会在发布者自身状态改变或执行特定行为后发......
  • 14 观察者模式 -- go语言设计模式
    观察者模式也叫做发布-订阅模式。观察者通过通知器(发行商)把自己注册到(订阅)特定的通知(杂志)。当有通知的时候,观察者只从通知器得到它订阅的通知。观察者模式的实现代码packagemainimport"fmt"//---------抽象层--------//抽象的观察者typeListenerinterface{ OnTe......
  • 设计模式-行为型模式
    ⾏为模式:负责对象间的⾼效沟通和职责传递委派。PS:博客根据it老齐大话设计模式课程课件进行整理,IT老齐视频学习网站:https://www.itlaoqi.com包含的设计模式:策略模式、模板⽅法模式、观察者模式、迭代⼦模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模......
  • 设计模式-工厂模式
    工厂模式(文章目录)什么是工厂模式  工厂模式,顾名思义,就是将对象的创建看作一个工厂,你告诉工厂需要的实例类型,工厂给你对象实例。  一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。不过,在GoF的《设计模式》一书中,它将简单工厂模式看作是工厂......
  • C/C++基础知识点——设计原则及设计模式
    如何实现模块间高内聚、低耦合?封装与抽象;添加中间层;模块化;设计思想与原则单一职责;接口隔离原则;依赖倒置;迪米特原则;多用组合少用继承;设计模式:观察者模式设计原则及设计模式六大设计原则:单一职责原则;里氏替换原则;开闭原则;依赖倒置原则;接口隔离原则;最少知识原则。......
  • 【设计模式之禅】单一职责
    最近前辈推荐我读《设计模式之禅》这本书,原因是我写的代码质量实在是一言难尽,开发速度很快,但是bug数就很多了,设计原则这种知识就需要掌握写这篇文主要是记录自己的学习以及督促自己第一章【单一职责】从我理解的层面来谈谈单一原则:明确每个类每个方法的任务,只做一......
  • 设计模式的六大原则
    开放封闭原则(OpenClosePrinciple)对外扩展是开放的,对内修改是封闭的,目的是保证程序的可扩展性以及可维护性 里氏代换原则(LiskovSubstitutionPrinciple)子类可以扩展父类的功能,但不能改变父类原有的功能。规定了子类不得重写父类的普通方法,只能重写父类的抽象方法,如果在设......
  • 设计模式--策略模式
    简介策略模式是一种行为设计模式,它将一组行为转换为对象,并使其在原始上下文对象内部能够相互替换原始对象被称为上下文,它包含指向策略对象的引用并将执行行为的任务分派给策略对象组成策略接口(Strategy):所有具体策略的通用接口,它声明了一个上下文用于执行策略的方法具体......
  • 设计模式大全:覆盖各类场景的实用模式与结构图
    设计模式大全:覆盖各类场景的实用模式与结构图目录设计模式大全:覆盖各类场景的实用模式与结构图1、设计模式六大原则(SOLID)2、设计模式分类及适用场景3、GOF经典设计模式及其结构图3-1、创建型1)工厂模式-FactoryPattern2)抽象工厂模式-AbstractFactoryPattern3)单例模式-Singleton......
  • 13 桥接模式 -- go语言设计模式
    桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(HandleandBody)模式或接口(interface)模式。桥接模式的实现代码packagemainimport"fmt"//发送信息的具体实现(操作)typeMessageImplementerinterface{ send(test,......