LSP: Liskov Substitution Principle — принцип подстановки Барбары Лисков.
Определение подтипов Барбары Лисков известно с 1988 года. В двух словах, этот принцип утверждает, что для создания программных систем из взаимозаменяемых частей эти части должны соответствовать контракту, который позволяет заменять эти части друг другом.
Этот принцип позволяет работать принципу ISP. Передавая различные типы реализующие один интерфейс механизм не должен сломаться. Следовать ему просто: не надо выяснять реальный тип и работать с ним так, что приведет к поломке если реальный тип будет другим.
Часто этот принцип частично нарушается в библиотечном коде с целью увеличения производительности, но там всегда остается ветка логики для работы с общей интерфейсной частью.