EMZETT.
Войти

Композиция вместо наследования: гибкая сборка объектов

Коротко: Вместо совместного использования поведения через глубокие деревья наследования объекты собираются из небольших блоков; это гибче, проще тестируется и позволяет избежать жёстких иерархий.

Подробнее: Наследование выражает «является» (собака — это животное), композиция — «имеет» или «использует» (у автомобиля есть двигатель). Известное правило проектирования: предпочитайте композицию наследованию.

Подробности

Проблема наследования

  • **Жёсткая связанность…

См. также: полиморфизм, принципы SOLID, паттерн «Стратегия», внедрение зависимостей, абстрактный класс или интерфейс