Какая типичная ошибка при работе с Liskov Substitution Principle и как ее избежать?

JavaMiddleOOP и проектирование на JavaОшибка кандидатаjava|oop и проектирование на java|liskov|liskov substitution principle

Что хотят услышать интервьюеры:

Ошибка: создавать подкласс, который бросает UnsupportedOperationException там, где базовый контракт обещает операцию.

Ответ:

Как избежать: вернитесь к контракту и назначению темы: подтип должен корректно заменять базовый тип без нарушения ожиданий клиента. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.

Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.

List<Number> numbers = new ArrayList<>();

Источники

Похожие вопросы