Что такое Composite?

Ответ

Древовидная структура: клиент работает с листьями и составными узлами единообразно через общий интерфейс.

interface Component { public function render(): string; }
class Leaf implements Component { public function render(): string { return "Leaf"; } }
class Composite implements Component {
    private array $children = [];
    public function add(Component $c): void { $this->children[] = $c; }
    public function render(): string {
        return implode('', array_map(fn($c) => $c->render(), $this->children));
    }
}

Примеры: дерево DOM, меню с подменю, файловая система.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.