Использование MVC и есть вопросы о ролях доменных сущностей и компонентов MVC - PullRequest
0 голосов
/ 06 сентября 2011

У меня есть приложение MVC, которое имеет следующую архитектуру ...

Проект пользовательского интерфейса (MVC) Контроллеры (C) - создает экземпляры моделей просмотра ViewModels (M) - основной механизм подачи данных в представления Просмотры

Бизнес-уровень
Возвращает данные из слоя Repository и возвращает объекты сущности / модели

Уровень сущности / модели (слой сущности домена)

Уровень репозитория (Уровень данных) Доступ к данным и возврат объектов сущности / модели на бизнес-уровень

Итак, что с вышеуказанной архитектурой , что взаимодействует с бизнес-уровнем? (модели представления или контроллеры).

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

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

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

0 голосов
/ 06 сентября 2011

Не пытаясь разобраться в вашей терминологии, я скажу, что в Java (и я думаю, вы увидите, как это обычно применяется) обычно используется следующая структура:

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

Классы обслуживания зависят от уровня dao / repository, который выполняет поиск в базе данных для получения объектов модели и применяет к ним некоторую бизнес-логику.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...