Sobes.tech
Назад к вопросам
Junior — Middle
65

Можешь ли ты назвать основные паттерны композиции в объектно-ориентированном дизайне?

Компании, где спрашивали
Драйв Клик

Ответ от нейросети

sobes.tech AI

Основные паттерны композиции в объектно-ориентированном дизайне помогают создавать гибкие и расширяемые системы за счёт объединения объектов:

  • Композиция (Composition) — объект содержит другие объекты и делегирует им часть своей функциональности. В отличие от наследования, композиция позволяет менять поведение во время выполнения.

  • Делегирование (Delegation) — объект передаёт выполнение задачи другому объекту, сохраняя при этом контроль.

  • Декоратор (Decorator) — динамически добавляет объектам новые обязанности, оборачивая их в другие объекты.

  • Стратегия (Strategy) — позволяет выбирать алгоритм поведения объекта во время выполнения, используя композицию с объектами-стратегиями.

Пример композиции в Java:

class Engine {
    void start() { System.out.println("Engine started"); }
}

class Car {
    private Engine engine = new Engine();
    void start() { engine.start(); }
}

Здесь класс Car использует композицию, чтобы включить двигатель и делегировать ему запуск.