Содержание
- SOLID
- SRP: Принцип единственной ответственности
- OCP: Принцип открытости/закрытости
- LSP: Принцип подстановки Лисков
- ISP: Принцип разделения интерфейса
- DIP: Принцип инверсии зависимостей
- Квадрат и прямоугольник
- Постановка задачи
- Источник проблем
- Возможные решения
- Отказ от изменений
- Возврат нового значения
- Возврат флага
- Исключения
- Отказ от наследования
- Полный
- Выделение общего базового класса
- Дополнительные действия
- Выделение модифицируемых сущностей
- Отказ от квадратов
- Равенство
- Свойства равенства
- Метод equals
- Метод hashCode
- Взаимодействие с наследованием
- Наиваная реализация
- Использование сравнения предка
- Сегрегация сравнения
Экзаменационные вопросы
- Принципы SOLID
- Проблема квадрата и прямоугольника
- Равенство объектов
Практические навыки
- Умение определять необходимость наследования
- Умение реализовывать корректное сравнение объектов на равенство