六大设计原则-里式替换原则【Liskov Substitution Principle】

简介: 六大设计原则-里式替换原则【Liskov Substitution Principle】

六大设计原则

  • 单一职责原则
  • 里式替换原则
  • 依赖导致原则
  • 接口隔离原则
  • 迪米特原则
  • 开闭原则

里式替换原则

定义: functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.

中文含义:只要父类能出现的地方我子类就可以出现,而且调用子类还不产生任何的错误或异常,调用者可能根本就不需要知道是父类还是子类。但是反过来就不成了,有子类出现的地方,父类未必就能适应.

示例:

语言组织描述:

即java的多态。定义一个接口类,每个子类去实现该接口,每个子类对实现的接口可以实现对应的业务逻辑。随着业务的增加,优势就可以看到了,可以通过新增子类去实现不同的业务,同时不会影响主逻辑,方便拓展。

总结:

  • 里氏替换法则诞生的目的就是加强程序的健壮性,同时版本升级也可以做到非常好的兼容性,增加子类,原有的子类还可以继续运行

在我们项目实施中就是每个子类对应了不同的业务含义,使用父类作为

参数,传递不同的子类完成不同的业务逻辑,非常完美!

目录
相关文章
六大设计原则-单一职责原则【Single Responsibility Principle】
六大设计原则-单一职责原则【Single Responsibility Principle】
55 0
|
程序员 测试技术
面向对象设计五个基本原则
只有聪明人才能看见的简介~( ̄▽ ̄~)~
114 0
|
设计模式
设计模式 - 六大设计原则之LoD(迪米特法则原则)
迪米特法(Law Of Demeter , LoD)则又叫最少知道原则(Least Knowledge Principle),最早是在1987年由美国Northeastern University的Ian Holland提出。 通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。
210 0
设计模式 - 六大设计原则之LoD(迪米特法则原则)
|
设计模式 算法 Java
六大原则之外的设计原则|设计原则
在前面的几篇设计原则文章中,我们分别讲述了经典的六大设计原则。但是事实上,我们在开发中还有几个重要的设计原则,在这篇文章中,一并给大家讲述。
软件架构设计原则--里氏替换原则
本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删
软件架构设计原则--里氏替换原则
软件架构设计原则--迪米特原则
本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删
软件架构设计原则--迪米特原则
|
数据安全/隐私保护
软件架构设计原则--单一职责原则
> 本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删
软件架构设计原则--单一职责原则
设计原则与思想 --- 单一职责原则(SRP)
设计原则与思想 --- 单一职责原则(SRP)
设计原则与思想 --- 单一职责原则(SRP)
|
关系型数据库
软件架构设计原则--开闭原则
意思就是说,对于每天工作8小时这个规定是关闭的,但是你什么时候来,什么时候走是开放的。开闭原则是面向对象设计中最基础的设计原则,它知道我们如何建立稳定、灵活的系统。例如版本更新,我们尽可能地不修改源代码,但是可以增加新功能。它强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及可维护性。本专栏内容参考自:咕泡学院Tom老师的《Spring5核心原理与30个类手写实战》,仅作个人学习记录使用,如有侵权,联系速删。商品呢,有很多种,什么书籍、水果、家具家电,我们还需要有一个商品的类Goods。
|
设计模式
【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
【设计模式】软件设计七大原则 ( 里氏替换原则 | 定义 | 定义扩展 | 引申 | 意义 | 优点 )
216 0