Pull to refresh

Comments 20

Круто. Ну раз такая тема пошла, то я тоже скоро буду писать на эту тему. Может отдельный блог заведем?
Хорошо написано, только вот я одного не пойму — зачем городить огород с правкой файла проекта и прочими телодвижениями, если в VS можно сразу создать MVC project?
Там же сказано в конце — «чтобы лучше понять внутреннею структуру(работу) MVC»
Может, это вначале написать?)
В начале тоже есть, но эт не столь важно. Без проблем, можно создать готовый проэкт и удалить с него весь демо код, но это ничему не научит. Я, например, лучше запоминаю руками, т.е. когда читаю какую-то книгу набираю все примеры руками, эт помогает лучше все запомнить.
Как бы так сказать — правка файла проекта IDE != исследование внутренностей фреймворка. В крайне экстремальном случае csc.exe и notepad.exe — вот и все, что требуется.

В общем и целом — весьма интересно и познавательно.
UFO just landed and posted this here
Каждый осваивает новый материал по своему. Кому то проще книги читать, кому то скринкасты смотреть, кому то видео-уроки лучше. Мне, например, так более понятно.
Полезный материал.

Да, исправьте, пожалуйста — проект.
Спасибо, а можно вопрос.
Допустим я использую фреймворк типа ZF на PHP.
Как я понимаю, то при переходе на ASP.NET MVC я получу то же самое, но от MS и для другого языка? Уж больно все похоже. И поэтому смысла нет изучать его, хоть и очень похожи. Хочу услышать чужое мнение.
Тут не столько другой язык, как возможность использовать весь .net framework
ASP.NET MVC по сути является альтернативой ASP.NET Web Forms, что впринципе разрешает использовать и то и другое в рамках одного проэкта. Плюс также дает возможность использовать все языки # и .NET.
Главное преимущество — использование ASP.NET и вообще .NET в целом и при этом создавать проект в стиле фреймворка Ruby On Rails, используя современные подходы, TDD, и прочее. Без дополнительной абстрактной надстройки в виде ASP.NET WebForms.
а возможно перенести исходники в более подходящее место, напр sourceforge?
Вы пропустили достаточно важные абзацы при переводе оригинального текста, например о том каким образом при запросе вида ~/home/indeх из всех контроллеров приложения выбирается именно класс HomeController:

Once the MvcHandler has extracted the name of the controller from the route data it will ask a ControllerFactory to instantiate a controller. The DefaultControllerFactory will first determine the type of the controller. The type of the controller is ultimately determined by the ControllerTypeCache which has a list of all public, non-abstract classes that implement IController with a name ending in Controller. It is customary to put our controller classes in a folder called Controllers.

Вкратце это означает, что классы-контроллеры должны обязательно заканчиваться на слово Controller и в таком случае все что идет до суффикса Controller будет использоваться как имя контроллера при маршрутизации.
Если в Вашем примере переименовать класс HomeController просто в Home, то приложение не сработает — мне кажется это достаточно нетривиально, особенно для новичка.

Но в целом спасибо за статью.
Отлично подмечено. По-моему самый удачный вариант роутинга это у Django: просто словарь Regex — Controller.
public void Application_Start()
{
  Router.RegisterRoutes(RouteTable.Routes);
}


тщательно вписывали «Route» в строке «Router.RegisterRoutes(RouteTable.Routes);» чтоб не забыть что здесь роутинг?? или так работает лучше ;)
Вообще если честно то скудненько написано.

Удалим это, а тут пропишем так то. А еще вот это добавим сюда, а этот файлик сюда.

Не помешало бы поподробнее описывать действий и назначения подключаемых/создаваемых файлов проекта. Особенно если эти статьи несут освоение материала, действительно с самого начала.
Sign up to leave a comment.

Articles