2015-01-23 3 views
1

Вопрос о идеологии шаблона проектирования MVC. По определению представление напрямую связывается с контроллером. Например, в JSF, а также ASP.NET web-forms мы можем привязать свойство контроллера к определенной области веб-страницы. Но в этом случае мы делаем это непосредственно wirte выражения какПолезно ли использовать шаблон медиатора с MVC?

<h:outputText value="#{partnerController.lastAccessDate}"/> 

Было бы полезно создать посредник между представлениями и контроллерами? Мне нужно, например, «отправить сообщение» нескольким контроллерам определенным образом.

+0

В нашем приложении мы выполняем подход только для вызова представлений-представлений из представления JSF, чтобы иметь четкую границу с остальной частью системы, что означает, что файлы JSF относятся к классам, которые имеют области JSF и специфическую технологию JSF, в свою очередь, относятся к независимой от JSF технологии. – Smutje

ответ

2

В традиционном веб-приложении, где страница JSP (или PHP или какой-либо другой генератор HTML) генерирует форму, которая заполняется пользователем и отправляется обратно на сервер, это не имеет большого значения. Опубликованная форма отправляется непосредственно контроллеру, который передает данные.

В жирной клиентской среде это делает многое. Жирный клиент может быть чем-то вроде SWING или фреймворка JavaScript, такого как Angular. Здесь контроллер по сути является посредником. То, что он делает, часто называют привязкой данных. Он гарантирует, что данные, введенные в графический интерфейс, хранятся в бизнес-объектах, которые в конечном итоге отправляются, активируются провод или сохраняются.

+0

BUt, как я уже сказал, мне нужно отправить данные нескольким контроллерам и вызвать несколько методов в этих нескольких контроллерах. Почему это не имеет смысла? –

+0

Если вы можете вызвать эти контроллеры с последовательным кодом в вашем первом контроллере, то различие будет состоять в том, чтобы последовательно подключать эти контроллеры к медиатору, а затем позволить ему распространять данные. Это заменяет одну старую часть кода другой, которая сложнее и сложнее поддерживать. – BetaRide

Смежные вопросы