ramzes, Ну, например у меня есть несколько основных компонентов цель скомпоновать их так что бы они были доступны из любой точки приложения при этом нужно сохранить их автономность.
Сначала подумал почему бы не изпользовать Registry. И сразу же встал пред вопросом как быть с теми компонентами которые друг от друга. Например у меня есть класс для работы с сессиями, а они у меня хранятся в БД. Пихать в конструктор каждого класса нужный объект как то не кошерно.
Далее решил использовать как в ждоне Статический класс. Проблема с областью видимости, но при этом уже теряется автономность, хотя это и не сильно важно, но все же. Что бы потом не вышло так что переписав одну часть пришлось переписывать пол проекта.