Компоновщик () — структурный шаблон проектирования, объединяющий объекты в древовидную структуру для представления иерархии от частного к целому. Компоновщик позволяет клиентам обращаться к отдельным объектам и к группам объектов одинаково.

Цель Паттерн определяет иерархию классов, которые одновременно могут состоять из примитивных и сложных объектов, упрощает архитектуру клиента, делает процесс добавления новых видов объекта более простым.

Описание UML-диаграмма шаблона:

Примеры реализации

Пример на Java

Пример на C#

Пример на C++

Пример на D

Пример на Python

Пример на PHP5

Пример компоновщика с внешним итератором на PHP5

Пример на PHP5.4

Пример на CoffeeScript

Пример на VB.NET

Пример на Delphi

Пример на JavaScript

Пример на Swift

Ссылки Паттерн Composite (Компоновщик) — назначение, описание, реализация на C++, достоинства и недостатки

Категория:Шаблоны проектирования Категория:Структурные шаблоны проектирования