Паттерн «Компоновщик» (Composite)
Коротко: Паттерн «Компоновщик» одинаково обращается с одиночными объектами и группами объектов. Так древовидные структуры можно обрабатывать единообразно.
Подробнее: Общий интерфейс действует для «листьев» (одиночные элементы) и «контейнеров» (содержащих другие элементы). Вызов вроде size() у папки рекурсивно складывает размеры всего содержимого.
Подробности
- Примеры: файловая система (файл и папка)…
См. также: паттерн «Декоратор», паттерн «Фасад»