Описание
Шаблон Composite - это простой способ объединения, а затем и управления группами схожих объектов. В результате отдельный объект для клиентского кода становится неотличимым от коллекции объектов. В сущности, этот шаблон очень прост, тем не менее он может сбить с толку. Одна из причин этого - сходство структуры классов в шаблоне с организацией его объектов. Иерархии наследования представляют собой деревья, корнем которых является суперкласс, а ветвями - специализированные подклассы. Дерево наследования классов, созданных с помощью шаблона Composite, предназначено для того, чтобы разрешить простую генерацию объектов и их обход по дереву