SOLID之LSP-里氏替换原则

一、定义

第一次看到这个原则时,给我的印象是通过名字并不能清晰的理解他想要表达的内容,我们想要用一个定义去描述他,我查了很多资料都是对其所含意义的介绍,并没有说一个准确的定义,都是想通过介绍来让读者理解里氏替换原则所想要表达的含义。

既然那么多大佬都不尝试给其一个明确的定义,那么我自己也就不班门弄斧了,我也通过介绍来分享一下他所包含的意义,里氏替换原则(LSP)从维度上说,他只说了两部分内容:对象和对象的动作或行为

  • 对象

子类,里氏替换原则主要是对子类进行约束。

  • 对象的动作和行为

子类可以替换基类

二、产生的问题

如果不能合理的利用LSP来指导我们的程序设计、代码编写,我们的代码就会增加很多诸如if等的条件判断,我们也就不得不为了实现某些业务功能,增加大量复杂的应对机制或代码,使我们的系统变得臃肿且难以维护,后面一旦有需求改动,往往我们只是动了一颗螺丝钉,却导致我们整个系统的瘫痪,此类血泪教训犹在耳边,慎记慎记。

三、解决的问题

  1. 最低层次解决了如何使用继承关系、指导接口及其实现方式。
  2. 高层次的就是对于软甲架构层面的设计有深刻的意义,在模块与模块,类与类,方法与方法之间都应该考虑LSP的最佳实践。

四、结语

道阻且长,行则将至,行而不辍,未来可期,加油。

原创不易,如果你觉得文章不错,对你的进步有那么一点帮助,那么就给个小心心,如果觉得文章非常对你的胃口,那么欢迎你关注我,或者关注个人的微信公众号 程序猿每日分享,这里有资源,有内推,有和你志同道合的朋友,咱们一起打怪升级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿每日分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值