В этом уроке будет рассмотрен паттерн "Компоновщик", позволяющий классам работать как со списком объектов, так и с отдельными объектами. Будет показано, как паттерн "Компоновщик" позволяет построить сложные древовидные структуры.