asp.net mvc2: зачем минимизировать код в контроллерах? - PullRequest
1 голос
/ 21 декабря 2010

Я немного слышал о том, что мы должны хранить код в контроллерах как можно меньше.Итак, куда мы поместим этот код?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

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

Я бы порекомендовал вам посмотреть эту видео презентацию о том, как поставитьВаши контролеры на диете от Джимми Богарда.

1 голос
/ 21 декабря 2010

Знаете ли вы тонкий и худой контроллер? Поэтому мой ответ: если вы поместите много строк кода в контроллер, ваш код будет грязным и сложным для модульного тестирования. На самом деле контроллер выполняет только действия, связанные с текущим HttpContext, поэтому, если у вас есть бизнес-логика, доступ к данным, шифрование, ... вы должны разделить проблемы. Причина, по которой вы здесь не используете бизнес-логику, заключается в том, что бизнес принадлежит домену. Так что делегируйте в домен для обработки. Контроллер должен учитывать все действия, связанные с HttpContext (Session, ViewData, TempData, Пользователь в текущем потоке, Глобальные и локальные ресурсы, ...) и делегировать все другие действия другому компоненту. Основное правило - толстая модель и тонкий контроллер для приготовления вкусного торта (phpcake). Некоторые ссылки, которые вы можете сослаться на тощий и толстый контроллер на здесь и здесь.

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