Вопрос

Я пишу дизайн-документ, и люди в моей команде готовы сделать переход от WebForm asp.net в asp.net mvc. Это здорово, но мне трудно понять, как MVC Workswith в архитектуре архитектуры MVC MVC в 3-уровневом (слой данных, бизнес-слое и презентации). Можем ли мы сказать, что модель, вид и контроллер являются частью слоя презентации? Модель часть бизнес-слоя?

Вкратце, как MVC и 3-уровня архитектура могут работать вместе? Спасибо за помощь!

Это было полезно?

Решение

Я считаю ASP.NET MVC на уровне презентации. Учебные классы «Модель», которые используются, действительно просматривают модели, которые описывают структуры данных, необходимые для ваших представлений. Вся ваша бизнес-логика и доступ к данным должны оставаться отдельными от ваших моделей и контроллеров MVC.

Кроме того, общая «лучшая практика» для MVC заключается в том, чтобы сохранить код контроллера максимально простым, что обычно означает введение некоторых для службы приложений в ваш бизнес-уровень, который обрабатывает тяжелую подъем.

Другие советы

Слой презентации - ваш вид.

Слой данных - ваша модель (рекомендую смотреть на шаблон репозитория).

Бизнес-слой остается то, что есть.

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

Контроллер не должен иметь расширяющую бизнес-логику в нем - поставить, что в собственном автономном DLL.

Это довольно субъективно. Делайте то, что имеет смысл вашей команде.

MVC может быть довольно гибким и практически без MVC Framework, по всем языкам, делает все одинаково. Даже в .NET Space. Fubumvc, spring.net и ms mvc все делают вещи немного по-разному.

Прежде всего, вам не нужно меняться на MVC только потому, что ... Если у вас есть то, что работает, я не думаю, что вам нужно.

Но на ваш вопрос, модель в модели MVC - это любой класс, который представляет вашу деловую проблему, что может быть каким-либо расчетом, бизнес-правилами или классами доступа к данным. В MVC Framework есть папка как способ предложить для вас решение для вас, поэтому вы можете поместить ваши модели там, но вам не нужно, вы можете создавать разные проекты, которые так решают ваши деловые проблемы, и это ваша модель. Итак, здесь вы можете определить любую другую скороговорку, что вы для Instante, вы можете использовать шаблон репозитория и реализовать, что использует Nibernate или Framework.

Виды - это просто веб-страницы, чтобы показать и получать информацию в и от пользователя.

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

Надеюсь, я мог бы помочь.

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

Я бы сказал, что читая книги на MVC 3 и просмотр видео Pluralsight.com - ваши лучшие ресурсы. Вы не можете пойти с «делать то, что работает для вашей команды». Если скажем, рабочие ассоциированные под названием Джонни и Тимми хотят поставить кучу логики в контроллер, только потому, что в краткосрочной перспективе сроки спешат, что «работает для вашей команды», который не делает его правильным / хорошим / умным.

Я нашел так много плохих статей в Интернете, что страшно, сколько людей привело к темной дороге страдания. Следуйте за счастливым путем. Используйте Stackoverflow для мнения, как искусство, но проверьте с помощью MSDN статей, книги MVC и Pluralsight.com

Я знаю, что это просто ссылка в Википедии, но есть некоторая информация здесь Что касается архитектуры N-уровня против MVC.

«Уровень» - это единица развертывания, в то время как «слой» в MVC является логическим разделением ответственности в рамках кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top