ASP.Net MVC и N-Tier - PullRequest
       35

ASP.Net MVC и N-Tier

4 голосов
/ 04 января 2009

Привет,

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

Зачем использовать ASP.Net MVC, если вы уже используете многоуровневую архитектуру (Уровень данных, Уровень логики, Уровень представления)? Помимо факта, контроллер имеет больше мощности, чем логический уровень.

Правильно ли я думаю, что могу использовать nHibernate и все мои классы доступа к данным, сущности и отображения в части модели MVC?

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

Спасибо

Ответы [ 5 ]

8 голосов
/ 04 января 2009

MVC - это не замена N-уровня, это способ организации уровня представления.

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

Контроллеры должны только подготавливать данные для представлений и обрабатывать действия из представлений. Вы все еще должны использовать свой BLL.

3 голосов
/ 04 января 2009

Да, сущности NHibernate могут (и должны быть) передаваться в представления.

Это доставит вам неприятности. Вы должны использовать уплощенные, нулевые безопасные DTO для просмотра моделей.

2 голосов
/ 04 января 2009

Дэмиен, вы можете прочитать эти 2 сообщения:

Жировой контроллер

Архитектурный вид ASP.NET MVC Framework

1 голос
/ 30 марта 2010

N-уровень - это архитектурный шаблон , позволяющий повторное использование, разделение проблем и масштабируемость ключевых областей вашего приложения. Уровни, не связанные с пользовательским интерфейсом (Business, Data, Facade и т. Д.), Должны быть проверены модульно и независимы от пользовательского интерфейса.

Слой пользовательского интерфейса - это только один из этих слоев, будь то Silverlight, ASP.NET MVC, веб-формы и т. Д.

MVC, как и MVP, представляет собой шаблон проектирования , который обеспечивает лучшую тестируемость уровня пользовательского интерфейса. ASP.Net MVC - это готовая инфраструктура, которая поддерживает и применяет этот шаблон. Шаблон использовался задолго до этого каркаса.

Но это просто выбор уровня пользовательского интерфейса. В контроллерах не должно быть взаимодействия с базами данных, службами и т. Д. Они контролируют состояние представления с помощью модели, не должны контролировать бизнес-логику, постоянство, транзакции и т. Д. 1011 *

0 голосов
/ 04 января 2009

Чтобы ответить на ваш вопрос о том, зачем использовать, если вы уже переходите на многоуровневую систему, нужно сделать ее более организованной и удобной для поисковых систем. Кроме того, это более стандартный шаблон, чем другие шаблоны, как правило, в ASP.Net. Это делает его более удобным для разработчиков для тех, кто уже использует MVC на других платформах.

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