Самые простые примеры, которые я видел, помещают в контроллер простую бизнес-логику, но в идеале вы можете захотеть создать бизнес-уровень.
Хороший пример разделения бизнес-логики с помощью MVC3 можно увидеть в проекте Silk проекта Microsofts, который вы можете загрузить здесь . В этом решении бизнес-логика отделена от проекта MVC в другом проекте.
В этом проекте вы можете видеть, что логика контроллера просто обрабатывает взаимодействие между представлениями и моделями представлений (обратите внимание на модели представления, а не на модели бизнес-уровня). Модели представления просто содержат информацию, которая будет передана представлениям, поэтому, если поле в представлении изменяется, поле в модели представления также изменяется. В проекте также идет дальнейшее разделение моделей представления на модели представления для передачи данных в представления и модели форм для передачи данных обратно, но это вопрос выбора.
Этот проект использует шаблон разработки сценария транзакции для своей бизнес-логики. Контроллер передает информацию на бизнес-уровень, используя свои собственные модели представления, которые реализуют интерфейс в дизайне шаблона команд. Информация, передаваемая обратно с бизнес-уровня, осуществляется через собственные бизнес-модели бизнес-уровня. Я настоятельно рекомендую вам взглянуть на этот проект, чтобы лучше понять, как достигается разделение.
Для дальнейшего изучения бизнес-уровней я бы также рекомендовал вам взглянуть на Wrox Enterprise .NET, где в нескольких главах подробно обсуждаются варианты структурирования бизнес-уровня, первой из которых является шаблон транзакции, используемый в проекте Silk. .
Надеюсь это поможет.
person
Dangerous
schedule
10.11.2011