Обзор высокого уровня ASP.net - PullRequest
2 голосов
/ 28 октября 2011

Я провел много времени, работая в Django, и достаточно хорошо заполучил фреймворк, поэтому начал заменять оригинальные компоненты (механизм просмотра и т. Д.) Моими собственными компонентами, и небо не упало..

Я смотрел на ASP.NET MVC и был весьма заинтересован (мне очень нравится C # / F #), но до сих пор научился ... почти ничего.Я копал http://www.asp.net/mvc/mvc4 без особого успеха.Я предполагаю, что мои основные вопросы будут такими:

  • Каковы основные движущиеся части в типичном рабочем процессе?Допустим, поступает запрос. Кто его принимает, делает вещи и передает его кому-то еще?В Django, например, запрос проходит через URL Mapper, Middleware, идет к контроллеру, который может копаться в некоторых моделях (через явные вызовы функций) и получать некоторые данные, передавать их в шаблон (также через явный вызов функции) быть обработанным и передать его обратно.

  • Какая связь между клиентом и сервером существует?Например, во многих средах существует явная связь каждой HTML-формы с серверным валидатором, с моделью, с таблицей базы данных, так что код проверки на стороне клиента генерируется автоматически.Другим примером является Livenode Quora, который явно связывает клиентские HTML-компоненты с их зависимостями в модели, позволяя изменениям в базе данных распространяться и автоматически обновлять клиентский код.

Ответы [ 4 ]

2 голосов
/ 28 октября 2011

На ASP.NET MVC есть несколько превосходных обучающих видеороликов для TekPub и Pluralsight , которые очень хорошо освещают основы.

1 голос
/ 28 октября 2011

Какая связь между клиентом и сервером существует?

Как сказал Руан, нет.

Я не знаком с Django, но, в отличие от других сред MVC (включая Rails), ASP.NET MVC очень сложен тем, что он реализует только представления и контроллеры традиционного шаблона MVC. Вы в значительной степени одиноки для модельной части. Это означает, что нет встроенной поддержки для создания базы данных, ORM и так далее.

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

ASP.NET MVC также реализует сантехнику для выбора правильного вида для рендеринга.

1 голос
/ 28 октября 2011

Я думаю, что нет лучшего ответа на ваш первый вопрос, чем ASP.NET MVC Pipeline:

http://www.simple -talk.com / содержание / file.ashx? Файл = 6068

объяснено более подробно здесь:

http://www.simple -talk.com / DotNet / .net-основа / введение к asp.net-MVC-растяжимость /

На ваш второй вопрос: ответ нет . Приложению ASP.NET даже не требуется отображать вывод HTML, вы можете написать свой собственный viewengine, чтобы предоставить любое представление данных, не потребляемых браузером, но любое устройство с поддержкой http (REST). Единственные вещи, которые вы можете рассматривать как связывающие «условные обозначения» (например, для привязки модели), но они могут быть заменены и расширены любым удобным вам способом.

1 голос
/ 28 октября 2011

Вы также можете посмотреть эти удивительные презентации. Максимально эффективное использование ASP.NET MVC 3 и Архитектура реального мира с ASP.NET MVC

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