Разница между MVC и MVC2 (с таблицей)

Оглавление:

Anonim

Если в разработке программного обеспечения есть какие-либо проблемы, то их шаблон проектирования является основным решением для их устранения. Они похожи на заранее определенные чертежи, которые мы используем для решения задач объектно-ориентированного проектирования в вашем проекте. Сначала он выясняет, в чем проблема, а затем устраняет ее, а также описывает процедуру и ее последствия. MVC и MVC2 - это два разных подхода к известному шаблону архитектуры MVC (Model View Controller).

MVC против MVC2

Разница между MVC и MVC2 заключается в том, что MVC - это модель разработки приложения, состоящая из трех взаимосвязанных частей, тогда как MVC2 представляет собой более сложный шаблон, в котором выполняется разделение состояния приложения и логики управления презентацией. MVC включает модель (данные), представление (пользовательский интерфейс) и контроллер (обрабатывает запрос). Основное различие между MVC и MVC2 - сложность. В веб-приложениях мира Java две общие модели проектирования (Модель 1 и Модель 2) тесно связаны с MVC и часто ошибочно называются MVC1 (или просто MVC) и MVC2.

MVC был подходом первого поколения в веб-приложениях Java, где страницы JavaServer Page (JSP) использовались для пользовательского интерфейса вместе с JavaBeans, которые могли инкапсулировать несколько объектов в один объект для реализации архитектуры MVC. Пользовательские запросы из браузера отправляются в JSP, который содержит логику контроллера и связывает модель для данных, которые будут обновлять представление и отправлять ответ обратно пользователю, который отображается в пользовательском интерфейсе. Этот подход сочетает в себе функции контроллера и представления на странице JSP и, следовательно, ломает парадигму MVC.

MVC2 был представлен Sun Microsystem org как шаблон проектирования, который не нарушает парадигму MVC, в отличие от MVC, где бизнес-логика была отделена от представлений, и все клиентские запросы обрабатывались в одном месте, а не в каждом файле JSP в MVC. В шаблоне MVC2 JSP заменяется сервлетами для логики контроллера.

Таблица сравнения между MVC и MVC2

Параметр сравнения

MVC

MVC2

Определение

В MVC за получение запросов и отправку ответов отвечает один компонент. В MVC2 есть несколько компонентов для приема запросов и отправки ответов. то есть Контроллер и Просмотр.
Навигация

В MVC каждый JSP имеет контроллер и логику представления, которая определяет навигацию по следующей странице представления, которая делает ее перераспределенной. В MVC2 сервлет содержит логику навигации следующей страницы просмотра, что делает ее централизованной.
Кропотливый

Требуется больше времени, чтобы написать код для разработки пользовательских тегов JSP, чтобы избежать тега скриптлета. Занимает меньше времени на разработку, поскольку все управление навигацией централизовано.
Независимость

Бизнес-логика и логика представления объединены в JSP, поэтому веб-дизайнеры и веб-разработчики не могут работать одновременно. Поскольку в нем есть разделение между логикой и представлением, дизайнер и разработчик могут работать вместе.
Повторное использование

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

Что такое MVC?

MVC - это шаблон архитектурного проектирования для повторяющихся проблем проектирования программного обеспечения, который дает высокоуровневый подход к описанию решения. Архитектура MVC состоит из трех модулей: модели, представления и контроллера.

Модель: Он представляет состояние данных (которые отображаются пользователю на странице просмотра).

Вид: Модуль просмотра - это пользовательский интерфейс, через который пользователь выполняет действие и внутренне общается с сервером.

Контроллер: Модуль контроллера обрабатывает пользовательский запрос, бизнес-логику и с помощью модели манипулирует данными, которые отображаются в пользовательском интерфейсе.

MVC начинается с того, что JSP принимает клиентский запрос, который работает вместе с JavaBeans для логики обработки данных, которая отправляется клиенту. Задание делится между JavaBeans и JSP, где JSP вызывает JavaBeans и бизнес-логику, в которой JavaBeans внутренне вызывает базу данных для сохранения / получения данных. В конце JSP отправляет ответ клиенту, который обновляет представление в браузере.

JavaBeans, которые также называются Beans, отвечают за инкапсуляцию нескольких объектов в один объект, в то время как JSP имеет как логику контроллера, так и логику представления. MVC также называют ориентированным на страницы из-за его прямого доступа к другой странице просмотра, которая идеально подходит для небольших приложений.

Что такое MVC2?

Большинство разработчиков программного обеспечения думают, что MVC2 - это улучшенная версия MVC, например версия 2.0; это не так. Модель 1 и Модель 2 разрабатывались одновременно и представляют собой два варианта того, как все должно быть сделано.

MVC2 - это более сложный шаблон, в котором выполняется разделение состояния приложения и логики управления презентацией. У него есть контроллер, в котором написана логика для обработки всех входящих запросов и необходимых действий, которые необходимо предпринять, таких как переход на другую страницу просмотра или обновление состояния модели.

Здесь, в MVC2, сервлет действует как уровень контроллера, который также является интерфейсом между уровнем представления и уровнем модели, где он получает запрос от клиента или пользовательского интерфейса, который представляет собой не что иное, как уровень представления, и обрабатывает их с соответствующей проверкой, если это необходимо. JSP имеет логику представления, которая внутренне использует Beans, поэтому, если сервлеты обновляют состояние модели, это отражается на странице представления.

В отличие от MVC, JSP в MVC2 не имеет одновременно контроллеров и логики представления; его единственная ответственность - получить обновленное состояние модели из этого сервлета для отображения на странице просмотра.

Основные различия между MVC и MVC2

Мы часто путаем MVC2 с версией MVC 2.0, однако это не так, это модели проектирования Java, в которых архитектура MVC2 более сложна и лучше всего подходит для более крупных приложений.

Различия между отношениями MVC и MVC2 можно резюмировать по следующим причинам:

  1. В MVC один компонент отвечает за получение запросов и отправку ответов, но в MVC2 есть несколько компонентов для приема запросов и отправки ответов. то есть Контроллер и Просмотр.
  2. MVC1 тесно связывает логику представления с бизнес-логикой, но MVC 2 изолирует или отделяет логику представления от бизнес-логики.
  3. В MVC бизнес-логика и представление. Логика объединена в JSP, поэтому веб-дизайнеры и веб-разработчики не могут работать одновременно, но в MVC2 есть разделение между логикой и представлением, поэтому дизайнер и разработчик могут работать вместе.
  4. В MVC 1 контроллер и модель оба являются JSP или, можно сказать, написаны на одном и том же JSP. Но в MVC2 контроллер - это сервлет, а модель - это класс Java.
  5. MVC не поддерживает повторное использование компонентов приложения, тогда как MVC2 поддерживает повторное использование компонентов, что хорошо для больших и более сложных приложений.

Вывод

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

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

MVC2 отделяет страницы просмотра от контроллеров, в отличие от MVC, который объединяет бизнес-логику и логику просмотра в JSP. Следовательно, MVC2 легче поддерживать для нескольких пользователей из-за его возможности многократного использования и расширения, а также он способен поддерживать более сложную систему в режиме реального времени, например Facebook, Instagram.

использованная литература

  1. https://www.scientific.net/AMM.198-199.537
  2. https://ieeexplore.ieee.org/abstract/document/777091/
  3. https://academic.oup.com/jpp/article-abstract/64/3/397/6135294

Разница между MVC и MVC2 (с таблицей)