Компоновщик (шаблон проектирования) (Tkbhkukfpnt (ogQlku hjkytmnjkfgunx))

Перейти к навигации Перейти к поиску
Компоновщик
Composite
Тип структурный
Описан в Design Patterns Да

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

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

UML-диаграмма шаблона:

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

[править | править код]

Пример на Java

[править | править код]

Пример на C#

[править | править код]

Пример на C++

[править | править код]

Пример на D

[править | править код]

Пример на Python

[править | править код]

Пример на PHP5

[править | править код]

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

[править | править код]

Пример на PHP5.4

[править | править код]

Пример на Delphi

[править | править код]

Пример на Swift

[править | править код]