Разница между запросом MVC и компонентом MVC [закрыто]


Я слышал, что JSF реализует компонент на основе MVC и Spring MVC реализует запрос на основе MVC. Я хотел бы знать, какая именно техническая разница между этими двумя типами.

1   54   2011-01-26 09:28:08

1 ответ:

в MVC на основе запроса (действия) один сервлет переднего контроллера будет делегировать модели действий на основе URL-адреса/параметров запроса. Вы работаете непосредственно с raw HttpServletRequest и HttpServletResponse объекты в модели действий. Вы должны написать код самостоятельно, чтобы собрать, преобразовать и проверить параметры запроса и при необходимости обновить значения модели, прежде чем вы сможете вызвать бизнес-действие.

в компонентном MVC, один передний контроллер будет собирать, конвертировать и проверять запрос параметры и обновите сами значения модели, так что вам нужно только беспокоиться о бизнес-действии самостоятельно. Как контроллер должен собирать / преобразовывать/проверять / обновлять значения определяется в одном месте, представление. Поскольку это невозможно с "простым" HTML, для достижения цели требуется определенный язык разметки. В случае JSF 2.0, это XML (XHTML) на основе. Вы используете XML для определения компонентов пользовательского интерфейса, которые в свою очередь содержат информацию о том, как регулятор должен собрать/преобразования/проверки/обновления значений модели и создать/оказать необходимую HTML-представление.

преимущества и недостатки должны быть понятны на данный момент: с помощью MVC framework на основе запроса вам нужно написать больше (шаблонный) код самостоятельно для достижения цели. Однако в конечном итоге вы получаете гораздо более мелкозернистый контроль над процессом и выводом HTML/CSS/JS. С помощью компонентной платформы MVC вам не нужно писать много кода самостоятельно. Однако у вас есть меньше штрафа зернистый контроль над процессом и выводом HTML/CSS/JS. Так что если вы хотите делать вещи a немного в отличие от стандартного описания и/или реализации, то вы будете тратить гораздо больше времени в компонентной основе MVC framework, когда вы не очень хорошо разбираетесь с его входами и выходами.

Манфред Рим (JSF 2.X член команды и ex Java EE 8 MVC 1.0 spec lead) изложил его красиво во время его речь о MVC 1.0 (JSR 371) на Devoxx 14:

photo

Читайте также: