Шаблон "Компоновщик" (Composite)

max аватар
127

При разработке приложений, мы используем компоненты, которые могут быть либо индивидуальными объектами, либо могут быть коллекцией объектов. Шаблон "Компоновщик" может представлять оба условия. В шаблоне, Вы можете разрабатывать древовидные структуры для представления частично-полных иерархий.

Наиболее подходящим примером шаблона может служить иерархия работников компании. 

Работники компании находятся на разных должностях. Согласно иерархии, менеджер имеет подчиненных, также  главный разработчик имеет подчиненных, которые отчитываются ему. У разработчика нет подчиненных.

Посмотрим на класс Employee. Это простой класс с геттерами и сеттерами для атрибутов имени, зарплаты и подчиненных.

Employee.java:

Далее заполняем дерево. Можно сделать класс для доступа к Employee  и попытаться заполнить дерево следующим образом:

Как только дерево заполнено, мы можем получить дерево для любого сотрудника и понять, имеет ли сотрудник подчиненных.


Конец
Уинстон Черчилль утверждает, что постоянные усилия, а не сила или ум, — вот ключ к раскрытию нашего потенциала.

Хм. Может я чего не заметил, но статья по-моему обрывается на половине и суть вопроса не раскрыта.

А привести CFO к типу не надо?

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке