Подтвердить что ты не робот

Предварительные знания для ASP.NET MVC

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

"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

Ответ 3

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

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

Ответ 4

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

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

edit 2 - Я думаю, что меня отклонили, прежде чем закончить мои правки: - (

Ответ 5

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

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

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


Некоторые из других доступных сейчас или доступных книг:

Wrox: начало ASP.NET MVC 1.0 --- оба автора Keyvan Nayyeri и Симона Чиаретта являются активными блоггерами ASP.NET MVC. Существует пример главы по тестированию для загрузки здесь. Я читал, что он должен быть доступен в конце июня 2009 года?

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

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

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

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

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

Ответ 6

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

MVC и Webforms работают в ASP.NET, поэтому многие вещи, которые вы узнаете при игре с MVC, перенесут в Webforms.

Ответ 7

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

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

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

Ответ 8

Я с самого начала следил за 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 или не думать о загромождении вашего контроллера и ваших данных.

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

Ответ 9

Я бы потратил некоторое время на 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. Реальностью является большинство рабочих мест, связанных с работой с существующей кодовой базой, а не с нуля.

Ответ 10

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

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

Ответ 11

Кроме того, что рекомендуют другие, я бы предложил следующие две книги:

  • Spring в действии: это не ASP.NET MVC, это около Spring, но основы похожи, и это действительно хорошо написано.
  • Pro ASP.NET MVC 2 Framework: он объясняет концепции в простой последовательности, и это помогает внедрить DI в ASP.NET MVC.

Ответ 12

Все предыдущие сообщения такие классные:) но я хочу добавить свой собственный взгляд. Без какой-либо основы механизма выполнения asp.net вы не можете написать хорошее приложение. Эта информация вы можете получить из книги dino esposito (у него есть две книги об asp.net 2.0 - базовый и продвинутый уровень) на базовом уровне - есть одна глава о обработке входящего запроса - вы можете прочитать только эту главу.

Если вы знаете, что такое httpapplication, httpruntime, request, response и т.д., просто пропустите мой ответ.

Ответ 13

Я знаю из своего короткого времени с работой Ruby on Rails, возвращаясь к ASP.NET и работая с MVC, было легко применить то, что я узнал от RoR к ASP.NET MVC. Честно говоря, ASP.NET MVC на самом деле представляет собой только часть VC и не очень похож на модель, поскольку ASP.NET не должен быть очень REST, в то время как RoR практически обеспечивает его.

Проблема, которую я нахожу, заключается в том, чтобы заставить людей узнать правильные соглашения MVC, когда они впервые изучают его, исходя из самого ASP.NET. Как уже упоминалось выше, неплохо было бы изучить настоящую платформу MVC (в данном случае RoR), потому что пытаюсь применить то, что вы знаете об ASP.NET к архитектуре MVC. Хорошее место для начала с RoR - http://railsforzombies.org/ Это также весело и даст вам основы для того, что действительно происходит там, где в идеальном REST MVC. После этого примените то, что вы знаете к MVC для ASP.NET.

Ответ 14

Самым первым и основным с ASP.Net MVC является концепция маршрутизации. Сначала возьмите этот колодец. Вы также можете пройти через System.Web.Routing Namespace, чтобы получить дополнительную информацию об этом. Маршрутизация просто сообщает IIS, что есть запрос для конкретного расширения, а затем перенаправляется на этот обработчик.

Следующее - "Конвент над конфигурацией". Для MVC вам необходимо иметь определенную структуру папок, такую ​​как Controller, Model и Views. Ничего более загадочного здесь.