Путаница в архитектуре Struts MVC

1

Я изучаю Struts2 в действии и узнаю, что контроллер в Struts2 является FilterDispatcher и Model - Action. Но ранее я знал, что Action и FilterDispatcher оба являются контроллерами, а Struts не поддерживает слой модели. Какой из перечисленных выше ошибок?

Теги:
model-view-controller
struts2
struts

2 ответа

1

Я бы сказал, что FilterDispatcher - это FrontController, а Action - это модель и контроллер в одном классе.

0

Фактически действия Struts2 являются делегатами контроллера. И Struts2 предоставляет стек значений на уровне представления, который имеет лучшую поддержку, и если вы хотите использовать псевдомодуль, тогда действие должно реализовать интерфейс ModelDriven. Следует также отметить, что действия Struts2 - это простые POJO, управляемые контейнером Struts2. Это немного отличается в точке зрения MVC, также известной как MVC Model2. Например, описание модели, представленной wikipedia:

Центральный компонент MVC, модель, фиксирует поведение приложения в терминах его проблемной области, независимо от пользовательского интерфейса. [5] Модель напрямую управляет данными, логикой и правилами приложения.

Похоже, что модель определяется извне и, вероятно, управляется уровнем сохранения. Контроллер Struts2 работает с моделью через своих делегатов.

Представление может представлять собой любое выходное представление информации, например диаграмму или диаграмму; возможны множественные представления одной и той же информации, такие как гистограмма для управления и табличное представление для бухгалтеров.

В Struts2 представление является результатом, возвращаемым контроллером в объекте ответа. Struts2 может использовать разные типы результатов и шаблоны для получения ответа.

Контроллер принимает вход и преобразует его в команды для модели или вида [6].

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

Чтобы ответить на ваш вопрос, имея в виду, что здесь сказано, ваше последнее утверждение ближе к истине. Struts2 может помочь вам с контроллером и представить представление, но это не поможет вам создать модель. Тем не менее, есть много других фреймворков, которые это делают, например Hibernate, которые вы можете использовать с Struts2 для завершения отсутствия компонента MVC в вашем приложении.

  • 0
    Вы должны принять этот ответ и также проголосовать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню