Опять поясните с FrontController-ом

Духовность™

Продвинутый новичок
Опять поясните с FrontController-ом

Не уверен, что я начал делать изначально в верном направлении, сейчас хочу пока не поздно переписать. Ссылки мне давать не надо на абстрактную теорию, всё я читал. Хочу найти истину непосредственно в обсуждении.

Скажите, _правильно ли я понимаю_, что FrontController (далее FC) - это не родительский класс для всех остальных контроллеров, а отдельный самостоятельный объект (а может и процедурный код), в обязанности которого входит некий базовый функционал действий? Например, вот что мне в проекте требуется от FC:

- Разбор запрошенного URL (получаем контроллер действия и сам action)
- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.
- Запуск необходимых контроллеров, запуск необходимого метода этого контроллера (action)

Ранее FC у меня делал только разбор URL, а все остальные действия лежали на базовых методах класса. Т.е. существовал базовый класс для всех контроллеров и у него был метод main, который делал

- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.

Сейчас, если я перенесу все эти действия в FC, то мне становится не понятным одна вещь - а как все эти туевы хучи объектов прав, пользователя, БД и т.д. передавать в контроллер действий? Делать все звездные объекты сингелтонами или...? В общем, интересует связь между FC и остальными контроллерами, как они взаимодействуют, как передают друг-другу объекты?
 

zerkms

TDD infected
Команда форума
один из подходов - реализация паттернов Filter и Chain of Responsibility

тогда проверка прав будет одним из фильтров, а данные между звеньями фильтров будут передаваться через объекты Request и Response.
 

Духовность™

Продвинутый новичок
zerkms
спасибо, почитаю..

а как насчет вопроса
_правильно ли я понимаю_, что FrontController (далее FC) - это не родительский класс для всех остальных контроллеров, а отдельный самостоятельный объект
?
 

Angerslave

Новичок
triumvirat
А чем php в плане реализации паттернов отличается от других языков? Если на нём некоторые умудряются даже event'ы реализовывать.
 

Духовность™

Продвинутый новичок
PHP Architect's Guide to PHP Design Patterns.pdf
там чето мало всего.. + я англицкий не понимать.

А чем php в плане реализации паттернов отличается от других языков?
в том, чо мне легче на пхп все усваивать! ;(

-~{}~ 11.01.09 13:42:

покажите мне пример фильтров в контексте моей задачи!!
 

jonjonson

Охренеть
Забей на паттерны. Пиши, что бы работало и делай рефакторинг. Этого достаточно для решения повседневных проблем.
 

Духовность™

Продвинутый новичок
слушайте, хоть убейте, но я не вижу смысла в FC инстанцировать объекты типа юзера и его прав. ИМХО- это дело контроллеров действий.
 

jonjonson

Охренеть
triumvirat, объект создаётся, когда востребован. Паттерны здесь не причём.
 
Сверху