фасад сеанса, принадлежит ли он слою модели или слою контроллера?

Одно из бизнес-правил — регистрировать, какой персонал выполняет какую операцию, и текущий код передает весь фасад сеанса в сервис (уровень модели).

Звучит/пахнет правильно? Разве контроллер не должен иметь дело с фасадом сеанса, извлекать данные и вместо этого передавать их службе?

Разве основная причина фасада сеанса не в том, чтобы... простое тестирование уровня контроллера? Имеет ли смысл передавать весь фасад сеанса в модель?

Спасибо


person Henry    schedule 12.04.2011    source источник


Ответы (2)


Если под сеансовым фасадом вы подразумеваете бизнес-поток, то да, контроллер должен взаимодействовать с этим уровнем. Передача Фасада в бизнес-модель обычно не имеет смысла, если они действительно являются отдельными слоями в приложении.

Существует разделение между логикой приложения (управляемой фасадом сеанса) и бизнес-логикой (частью фактической модели предметной области). На мой взгляд, это два отдельных слоя.

Надеюсь это поможет.

person tjg184    schedule 12.04.2011
comment
Только контроллер должен взаимодействовать с сеансом (через фасад, если применимо). - person Ciaran Archer; 13.04.2011

Как правило, мой уровень контроллера будет передавать значения в каждый метод службы по мере необходимости. Сервису все равно, откуда они пришли (сеанс, отправка пользователя и т.д.), он просто принимает их, делает свою работу и возвращает результат. Контроллер обрабатывает захват различных значений из соответствующих мест (база данных, сеанс, пользовательская отправка и т. д.), а затем передает их на уровень обслуживания.

person Sean Coyne    schedule 12.04.2011