SYSTEM ATLASЗагрузка материала

Liskov Substitution Principle

Liskov Substitution Principle

Подтип должен сохранять ожидаемое поведение базового типа.

Простыми словами

Например, команда меняет способ оплаты, но хочет, чтобы остальная бизнес-логика не зависела от деталей конкретного провайдера. Поэтому принцип используют как проверочный вопрос при изменении кода - иначе небольшая новая функция начинает требовать правок во множестве несвязанных мест.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Liskov Substitution Principle», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Liskov Substitution Principle» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«Liskov Substitution Principle» объясняет только часть происходящего в области «Архитектура ПО». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Barbara Liskov; Jeannette Wing. A Behavioral Notion of Subtyping (1994).

Первоисточник