Андрей Майоров, директор компании BYTE-force рассказал об удобстве использования иерархических структур данных в своих приложениях.
С иерархическими структурами данных сталкивался каждый пользователь компьютера: диски, папки, файлы — все это привычно и понятно почти каждому. Что если пойти дальше и применить ту же концепцию иерархической организации для произвольных объектов вашего приложения? Любой объект — это аналог файла на диске. Объекты можно класть в контейнеры — в «папки». Контейнеры и сами по себе являются объектами, и их тоже можно положить в другие объекты, и так далее. Получается глобальная структура объектов, которая не только хорошо понятна пользователю на уровне концепции, но и очень устойчива к изменениям требований. Зачастую для добавления нового функционала в систему перепроектирования не требуется.
ссылка