Необходимые знания для ASP.NET MVC - PullRequest
24 голосов
/ 15 апреля 2009

После разочарования в попытках освоить тайны ASP.NET я решил попробовать ASP.NET MVC.

Я имею большой опыт работы с C # 2.0, занимаясь практически всем (WinForms, Windows Services, remoting, ...), кроме ASP.NET. Я пишу PHP даже дольше, чем кодирую .NET. Учитывая весь этот опыт, я подумал, что готов к ASP.NET MVC. Теперь я вижу, что одновременно изучаю следующее и испытываю трудности с этим:

  • шаблон MVC в целом
  • ASP.NET
  • ASP.NET MVC
  • .NET 3.5.

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

Какие предварительные знания вы бы порекомендовали для ASP.NET MVC? Любые / все те, кого я перечислил выше? Другие? Или, может быть, я просто медлительный, и большинство людей будет хорошо делать то, что я сделал.

Ответы [ 14 ]

16 голосов
/ 15 апреля 2009

Я являюсь разработчиком ASP.Net всего 3 года. Я получил проект от друга и решил разработать его с помощью ASP.Net MVC, чтобы изучить этот новый материал. Я должен признать, что вначале я чувствовал себя потерянным, но потом я увидел несколько очень интересных статей на сайте ASP.Net/MVC. Внизу 7 итераций, которые дадут вам очень подробную информацию о том, что вы делаете, пока вы это делаете.

Я использовал пример «Продукты», который у них там есть, и применил то же самое к моему собственному проекту. После всех итераций я чувствую, что у меня есть очень хорошая база для начала изучения более продвинутых реализаций MVC. (JQuery плагины / Ajax /...)

http://www.asp.net/learn/mvc/

Я думаю, что базовое понимание ASP.Net является базовым требованием. Если у вас есть это, вы сможете пройти через это с небольшой мотивацией.

10 голосов
/ 15 апреля 2009

«Шаблон MVC в целом» - не нужно, но полезно. ASP.NET - тоже не обязательно.

.NET 3.5 - да. Это будет ваш рабочий инструмент, вы должны освоить его.

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

Также вы не избежите знания HTML / CSS, возможно JavaScript.

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

Здесь можно найти множество очень полезных руководств: Учебники ASP.NET MVC

Также читайте блоги от ASP.NET MVC «Родители»:

http://haacked.com

http://weblogs.asp.net/scottgu/default.aspx

http://www.hanselman.com/

http://stephenwalther.com/blog/Default.aspx

7 голосов
/ 17 апреля 2009

У меня похожий фон. Я использовал .Net / C # с самого начала, но все, что связано с системой, нет веб-опыта. Около 8 месяцев назад я решил, что хочу узнать больше о сети, и решил, что для меня ASP.NET MVC кажется правильным решением. Я не чувствую, что мое отсутствие опыта ASP.NET было слишком большим препятствием. Я использовал сайт http://www.asp.net/mvc/ в качестве центра моего обучения. Все видео хорошие, а также учебники и примеры проектов. Я скачал большинство из них и достаточно знаком, чтобы, когда я не могу что-то понять, я захожу в один из загруженных проектов с аналогичным требованием и смотрю, как это было закодировано. Не зная веб-технологий, я также заказал книги по HTML, CSS, JAVA, AJAX и Jquery. Для меня лучший способ учиться - это разработать проект, чтобы он делал то, что я делал. У большинства авторов новых книг о MVC также есть блоги с большим количеством полезной информации. Когда я начал изучать MVC, книги по MVC еще не были опубликованы, но я уверен, что к настоящему моменту есть несколько хороших или которые скоро будут доступны.

Я наслаждался новым опытом и многому научился, я думаю, что новая технология великолепна. Удачи!

4 голосов
/ 06 июня 2009

Я рекомендую получить книгу по ASP.NET MVC и поработать с примерами из книги. Не беспокойтесь об истории шаблона проектирования MVC или его корнях в Xerox PARC 1979 года. Я бы не стал читать намного больше о фактическом шаблоне MVC, чем эта простая статья из MSDN: Ультрасовременный: Шаблоны презентаций ASP.NET

Я недавно закончил Pro ASP.NET MVC Framework Стива Сандерсона и могу порекомендовать его. В нем есть пример приложения из нескольких глав, которое поможет вам быстро начать работу с ASP.NET MVC, а затем 10 или около того последующих глав, в которых подробно рассматриваются соответствующие темы (Контроллеры, Представления, Безопасность и т. Д.). Книга посвящена модульному тестированию и внедрению зависимостей, а также охватывает базовое реляционное сопоставление объектов с помощью LINQ to SQL. Существуют также главы, посвященные интеграции jQuery с ASP.NET MVC и тому, как вы можете использовать компоненты инфраструктуры (авторизация, членство, роли, персонализация, кэширование и т. Д.) Из традиционных приложений WebForms.

Есть ряд положительных отзывов о Блог Стива , который также является хорошим источником дополнительной информации ASP.NET. Amazon.com имеет пару положительных отзывов на книгу (мне нужно добавить свой, когда у меня будет немного свободного времени). Вы также можете просмотреть некоторые книги в Google Книгах.


Некоторые из других книг, которые доступны сейчас или доступны в ближайшее время:

Wrox: Начало ASP.NET MVC 1.0 --- Оба автора Кейван Найери и Симона Кьяретта являются активными блоггерами ASP.NET MVC. Вот пример главы по тестированию для скачивания здесь . Я читал, что он должен появиться в конце июня 2009 года?

Мэннинг: ASP.NET MVC в действии --- Эта книга Бена Шейрмана , Джеффри Палермо и Джимми Богард, Все они имеют интересные блоги, посвященные темам, связанным с ASP.NET MVC. Если я правильно понял, эта книга должна быть выпущена в августе 2009 года. Вы можете предварительно заказать книгу (MEAP = Программа раннего доступа Manning) здесь и получить доступ к первым 11 главам (неотредактированным или слабо отредактированным I считать). Справочное приложение CodeCampServer , которое дополняет книгу, довольно интенсивное и охватывает использование nHibernate (ORM), Castle Windsor (DI / IoC), DDD, модульного, интеграционного и регрессионного тестирования.

Wrox: Professional ASP.NET MVC 1.0 --- Это книга, которая сопровождает пример приложения и программы чтения NerdDinner , которые были доступны некоторое время назад. Его автором являются довольно умные ребята из Microsoft: Роб Конери , Скотт Гатри , Скотт Хансельман * и Фил Хаааааааааааак , которые имеют внутреннюю информацию почему определенные решения были приняты с рамкой. Доступно сейчас.

Пакет: ASP.NET MVC 1.0 Быстро --- Автор Мартен Баллиау имеет довольно хороший блог, в котором рассказывается о различных проблемах ASP.NET MVC, включая тестирование . Доступно сейчас.

Sams: ASP.NET MVC Framework Unleashed --- Автор Стивен Уолтер отвечает за ряд популярных книг ASP.NET Unleashed с первых дней существования ASP.NET, и сейчас он пишет книга по ASP.NET MVC. Вы можете проверить его блог для образцов содержимого из будущей книги и других статей, связанных с ASP.NET MVC. Amazon говорит, что эта книга будет доступна в июле 2009 года.

Wrox: решение проблемы разработки веб-сайтов для программирования на ASP.NET MVC --- Это продолжение книги Wrox: программирование сайтов на ASP.NET 2.0: решение для проблемных разработок и приветствует автора Марко Беллинасо и представляет двух новых авторов проекту Ника Берарди и Аль Катавази . Пример приложения для книги - Beerhouse CMS и доступен для загрузки на CodePlex. На сайте книги написано, что он выйдет в июне 2009 года.

4 голосов
/ 16 апреля 2009

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

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

редактировать 2 - я думаю, что я был отклонен до окончания моих правок: - (

3 голосов
/ 06 июня 2009

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

MVC и Webforms работают в ASP.NET, поэтому многое, чему вы научитесь, играя с MVC, перенесется в Webforms.

3 голосов
/ 15 апреля 2009

Это хорошее введение от Мартина Фаулера. Он подробно рассказывает об GUI Architectures.

Начните читать некоторые материалы на следующие темы, и они действительно помогут вам подготовиться к любому MVC в целом. Вот несколько тем, которые вы можете найти в Интернете:

  • Routing.
  • Шаблон MVC.
  • Контроллеры и действия.
  • Параметры отображения.
  • ActionResults.
  • Обработка ошибок.
  • Фильтрация действий.
  • Передача данных в представление.
  • HTML Helpers.
  • Просмотр расширяемости рендеринга.
  • Использование jQuery с ASP.NET MVC.
  • Советы и рекомендации для представлений, контроллеров и моделей.
  • MVC Анти-шаблоны.
2 голосов
/ 16 апреля 2009

Это может помочь подойти к Asp.Net MVC под другим углом: прочитайте книгу Agile Web Development с Rails , следуйте дальше (реализуйте с помощью Rails) и попытайтесь реализовать проект, аналогичный по объему что в этой книге в ASP.Net MVC.

Вы быстро подберете Rails (неделя или две из хакерских программ, занимающих пару часов в ночь), и экспликация соглашений Rails поможет вам сформировать мышление, которое достаточно близко согласуется с Asp.Net MVC. путь. Это, вероятно, поможет вам понять мотивы MVC на этом пути, и у вас наверняка будет мнение о том, как все «должно» работать в Asp.net MVC.

2 голосов
/ 16 апреля 2009

Я бы потратил некоторое время на ASP.NET, прежде чем изучать ASP.NET MVC. Помните, ASP.NET MVC основан на ASP.NET. Некоторые вещи из традиционного ASP.NET не будут использоваться с моделью MVC (пользовательские элементы управления, (файлы ASCX и ASPX)), но это хорошо, если вы все еще это понимаете. Если вы хотите сосредоточиться на MVC, сначала изучите ASP.NET, но не тратьте время на изучение общих элементов управления или привязки данных.

Остальная часть ASP.NET по-прежнему полезна (HttpModules, HttpHandlers, файл web.config, поставщик членства и т. Д.), Когда вы работаете с ASP.NET MVC, и я бы сказал, что, вероятно, это необходимо ASP.NET MVC хорошо.

Тем не менее, для ASP.NET гораздо больше работы, чем для ASP.NET MVC. Некоторые работодатели ищут людей, которые знают MVC, но они в основном делают это, поскольку они ищут людей, которые увлечены изучением новых вещей. Моя проблема с ASP.NET MVC заключается в том, что я не понимаю, как интегрировать его с традиционными приложениями ASP.NET. Реальность такова, что большинство рабочих мест включают работу с существующей кодовой базой, а не с нуля.

2 голосов
/ 15 апреля 2009

Я с самого начала следил за ASP.Net MVC, и должен сказать, что мне это нравится. В сочетании с Unity (или другим DI-фреймворком) он просто отлично работает. В любом случае, мне всегда нравился принцип разделения интересов, и я предпочитал ASP.Net вместо PHP (и классический ASP). Мне не всегда нравился шаблон управления ASP.Net. MVC подходит гораздо лучше. А с Json () и PartialView () для возвращаемых типов, взаимодействующих с jQuery.getJSON () и $ ("# mydiv"). Load () очень упрощается на стороне сервера. Это также хорошо работает, если следовать принципам SOLID Design ...

Это помогает иметь четкое понимание HTML и JavaScript (AJAX, DHTML) для большего количества интерактивных точек. Это также помогает думать с точки зрения шаблона MVC или не думать о загромождении вашего контроллера и ваших данных.

Одна вещь, которая меня не волнует, это отсутствие встроенной системы скининга для нескольких скинов в веб-приложении. Я пришел к этому, и наличие источника действительно помогает. Я бы сказал, как другие предложили, следить за блогами (и читать обратно) Фил Хаак , Скотт Гатри и Скотт Хансельман . Все они имеют жизненно важную информацию. Помимо этого, как уже упоминалось, демонстрации на веб-сайте ASP.Net MVC очень хороши.

...