Это Liskov Substitution Principle или LSP. Это третья буква в знаменитом сокращении SOLID.
Барбара Лисков заявила, что производные классы должны быть спроектированы так, чтобы их при необходимости можно было заменить своими базовыми классами без потери обратной совместимости.
Смысл в том, что нужно проявлять осторожность при использовании наследования, которое в современном программировании рекомендуют обходить стороной.
Дядюшка Боб (Роберт Мартин) дал очень хорошее определение - функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом
Чаще можно увидеть этот принцип в виде сокращения OCP или Open/Closed Principle. Более подробно читаем про этот принцип в Open Closed Principle.
Interface Segregation Principle (ISP) переводится как Принцип разделения интерфейса. Это четвёртая буква в аббревиатуре SOLID.
Принцип разделения интерфейсов говорит о том, что слишком «толстые» (большие) интерфейсы необходимо разделять на более маленькие и специфические, чтобы программные сущности маленьких интерфейсов знали только о методах, которые необходимы им. В итоге, при изменении метода интерфейса не должны меняться программные сущности, которые этот метод не используют.
Кто-то трактует этот принцип как – лучше больше маленьких интерфейсов, чем один маленький. Я предпочитаю больше маленьких интерфейсов, но не уверен, что это правильное объяснение принципа.