HTML Diff
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