Вопрос о ASP.NET MVC против ASP.NET Web Froms - PullRequest
2 голосов
/ 20 декабря 2010

Я младший программист, я не понимаю концепции MVC! Мой метод кодирования разделяет дизайн моего приложения на 3 слоя:

Уровень представления Бизнес уровень Уровень доступа к данным

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

Я запутался, не могли бы вы дать какой-нибудь совет!

Любая помощь будет оценена ...

Я решил, что эта книга поможет мне лучше понять дизайн кода:

http://www.amazon.com/Professional-ASP-NET-Design-Patterns-Millett/dp/0470292784/ref=sr_1_1?ie=UTF8&qid=1292836936&sr=8-1

Примечание: я также решил начать изучать TDD.

ВОПРОС: Разбивает ли мой дизайн кода на 3 уровня (презентация, dal и бизнес) концепция MVC?

Ответы [ 4 ]

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

Я был довольно поздним «конвертировал» в mvc, после того, как более 10 лет был и классическим разработчиком asp и webforms. Тем не менее, около 18 месяцев назад появился проект, который наша команда менеджеров решила, что будет хорошим автономным проектом для пробного запуска. Мне было поручено управлять проектом. Я признаю, что я был ОЧЕНЬ скептически настроен, поскольку у нас был большой набор компонентов, созданных для веб-форм, а также наш собственный «мини-фреймворк» для проектов веб-форм.

представьте мое удивление, когда я медленно обнаружил, что быть ближе к металлу с помощью парадигмы mvc было на самом деле более продуктивным процессом. Вскоре я даже начал сомневаться, стоит ли переходить на веб-формы или mvc для других новых проектов, которые запускаются. прелесть заключалась в том, что в наших проектах веб-форм использовался трехуровневый подход, который вы упомянули, и для нас было довольно легко переключить часть веб-форм и вставить наш BLL / DAL на место и использовать его в проекте mvc.

Суть в том, что потребуется время, чтобы освоить концепции mvc, но, к счастью, есть много замечательных книг и учебных пособий:

http://nerddinner.codeplex.com/

http://blog.stevensanderson.com/

http://www.amazon.com/ASP-NET-Framework-Second-Experts-Voice/dp/1430228865/ref=pd_sim_b_2

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

Короче говоря, нет , проектирование с 3 слоями не = mvc . однако, если вы беспокоитесь о потере знаний и основных функциональных возможностей, которые вы встроили в свой трехуровневый подход, вам не нужно этого делать. mvc и BLL / DAL могут просто чудесно работать вместе. при переходе от веб-форм есть страх, что вы потеряете всю предыдущую логику dpmain - короче говоря, они счастливо сливаются / сосуществуют, и вполне возможно, что часть команды будет работать над бизнес-логикой, а другая часть будет заниматься исключительно MVC реализация этого.

Я собирался рассказать о превосходной интеграции с jquery - но это история для другого дня:)

0 голосов
/ 20 декабря 2010

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

MVC намного лучше подходит для TDD, так как позволяет тестировать взаимодействие с модулем модульного тестирования.Я думаю эта книга - хорошее начало для TDD с MVC

0 голосов
/ 20 декабря 2010

MVC может означать почти все, в зависимости от того, о каком сценарии вы говорите.

В ASP.NET (не MVC) вы создаете страницы, которые в основном содержат как логику, так и представление для нее. Когда загружается страница aspx, выполняется «кодовый элемент» (логика) и привязывает данные к представлению для его отображения. Это повторяется все время.

В ASP.NET MVC вы определяете контроллеры, которые, в свою очередь, содержат «действия» (методы), которые обычно создают объекты, называемые моделями представления. Модели представления содержат данные, которые представление будет использовать для отображения. Это в некотором смысле эквивалентно привязке данных в ASP.NET.

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

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

0 голосов
/ 20 декабря 2010

Я предлагаю вам начать с просмотра этого видео: MVC или Webforms - Выбор правильной модели программирования .

Если вы решили пойти на MVC, просто взгляните на все учебники здесь: http://www.asp.net/mvc.

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