里氏替换原则(Liskov Substitution principle)是对
子类型的特别定义。它由
芭芭拉·利斯科夫(Barbara Liskov)在1987年在一次会议上名为“数据的抽象与层次”的演说中首先提出。
里氏替换原则的内容可以描述为: “派生类(子类)对象可以在程式中代替其基类(超类)对象。” 以上内容并非利斯科夫的原文,而是译自罗伯特·马丁(Robert Martin)对原文的解读。
芭芭拉·利斯科夫与
周以真(Jeannette Wing)在1994年发表论文并提出以上的Liskov代换原则。
在
程序设计领域,SOLID(面向对象设计:单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期引入的
记忆术首字母缩略字,指代了
面向对象编程和
面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个
程序员开发一个容易进行
软件维护和扩展的系统变得更加可能。SOLID所包含的原则是通过引发编程者进行软件
源代码的
代码重构进行软件的
代码异味清扫,从而使得软件清晰可读以及可扩展时可以应用的指南。SOLID被典型的应用在
测试驱动开发上,并且是
敏捷开发以及
自适应软件开发的基本原则的重要组成部分。