🟣 Подробное описание паттерна
Компоновщик (англ. Composite) — структурный паттерн проектирования. Он позволяет сгруппировать множество объектов в древовидную структуру, а затем работать с ней так, как будто это единичный объект.🙂Аналогия из жизни🙂
Армии большинства государств могут быть представлены в виде перевёрнутых деревьев. На нижнем уровне у вас есть солдаты, затем взводы, затем полки, а затем целые армии. Приказы отдаются сверху и спускаются вниз по структуре командования, пока не доходят до конкретного солдата.
🟪 Достоинства паттерна:
🔎 В систему легко добавлять новые примитивные или составные объекты, так как
Composite использует общий базовый класс Component.🔎 Код клиента имеет простую структуру – примитивные и составные объекты обрабатываются одинаковым образом.
🔎 Паттерн позволяет легко обойти все узлы древовидной структуры.
🗂 Код на Python





