0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: паттерны, структурные шаблоны проектирования, компоновщик, composite</p>
1
<p>Теги: паттерны, структурные шаблоны проектирования, компоновщик, composite</p>
2
<p><strong>Компоновщик</strong>- это структурный шаблон проектирования, который объединяет объекты в древовидную структуру, обеспечивая тем самым представление иерархии от частного к целому. Composite позволяет клиентам одинаково обращаться как к отдельным объектам, так и к группам объектов. Также Компоновщик: - определяет иерархию классов, способных одновременно состоять из примитивных и сложных объектов; - упрощает процесс добавления новых видов объекта; - упрощает архитектуру клиента.</p>
2
<p><strong>Компоновщик</strong>- это структурный шаблон проектирования, который объединяет объекты в древовидную структуру, обеспечивая тем самым представление иерархии от частного к целому. Composite позволяет клиентам одинаково обращаться как к отдельным объектам, так и к группам объектов. Также Компоновщик: - определяет иерархию классов, способных одновременно состоять из примитивных и сложных объектов; - упрощает процесс добавления новых видов объекта; - упрощает архитектуру клиента.</p>
3
<p>Для примера возьмем абстрактную организацию. Как известно, каждая организация компонуется из сотрудников, причем у каждого такого сотрудника, скажем так, существуют одинаковые свойства: служебные обязанности, заработная плата, отчетность и т. п. Так вот, шаблон Composite дает возможность клиентам работать в едином стиле с индивидуальными объектами.</p>
3
<p>Для примера возьмем абстрактную организацию. Как известно, каждая организация компонуется из сотрудников, причем у каждого такого сотрудника, скажем так, существуют одинаковые свойства: служебные обязанности, заработная плата, отчетность и т. п. Так вот, шаблон Composite дает возможность клиентам работать в едином стиле с индивидуальными объектами.</p>
4
<p>Это можно продемонстрировать в коде. Итак, у нас есть Employee разных типов:</p>
4
<p>Это можно продемонстрировать в коде. Итак, у нас есть Employee разных типов:</p>
5
<p>Соответственно, тогда у нас есть и организация, состоящая из нескольких разных типов сотрудников:</p>
5
<p>Соответственно, тогда у нас есть и организация, состоящая из нескольких разных типов сотрудников:</p>
6
<p>И затем это может быть использовано следующим образом:</p>
6
<p>И затем это может быть использовано следующим образом:</p>
7
<p>Вот, пожалуй, и все. Осталось посмотреть пример Компоновщика на языке Java:<em>https://github.com/iluwatar/java-design-patterns/tree/master/composite</em>.</p>
7
<p>Вот, пожалуй, и все. Осталось посмотреть пример Компоновщика на языке Java:<em>https://github.com/iluwatar/java-design-patterns/tree/master/composite</em>.</p>
8
<p><em>По материалам статьи "Design Patterns for Humans" - https://github.com/kamranahmedse/design-patterns-for-humans.</em></p>
8
<p><em>По материалам статьи "Design Patterns for Humans" - https://github.com/kamranahmedse/design-patterns-for-humans.</em></p>
9
9