в MVC, где вы проводите грань между контроллером и моделью? [закрыто]

28
задан bcosca 17 August 2010 в 04:26
поделиться

1 ответ

Граница между контроллером и моделью на самом деле довольно четкая.

Модель - это сердце вашего приложения. Он содержит бизнес-логику / логику предметной области, необходимую для решения проблемы, для которой было написано ваше приложение. Модель обычно состоит из нескольких других слоев, например постоянство, службы, домен и т. д. Распространенное заблуждение, что Модель - это просто база данных, равно как и распространенное заблуждение, что база данных должна быть ActiveRecord.

Контроллер (и представление) являются частью уровня представления. Единственная ответственность контроллера состоит в том, чтобы получать и обрабатывать вводимые пользователем данные, направленные на ваше приложение, и делегировать их соответствующим частям модели. Больше ничего. Он не должен обрабатывать сложный поток приложения или код вашей проблемной области. Вы хотите, чтобы контроллеры были худыми и моделировали толстые с помощью логики .Модель не должна знать ни C, ни V, и вы должны иметь возможность поменять местами V и C для другого уровня представления, не касаясь M.

См. Выдержку MVC в шаблонах архитектуры корпоративных приложений

39
ответ дан 28 November 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: