Исходники сайта на языке программирования C# построенных по шаблону MVC на платформе ASP.NET. В одном исходнике для каждой модели одно представление (View). Второй исходник демонстрирует более широкие возможности схемы MVC: одна модель имеет несколько представлений, несколько видов отображения данных.
Аббревиатура MVC происходит от слов Model-View-Controller. Model (Модель) - что будем показывать, View (Вид) - как будем показывать, Controller (Контроллер) - кто будет управлять. Стандарт MVC наиболее распространённый стиль создания сайтов. Четкое разделение разных составляющих веб проекта: дизайн, управление запросами пользователей, программная логика. Благодаря разбиению сложного на простые части повышается эффективность работы над веб-сайтом.
Впервые концепция MVC была сформулирована и описана Трюгве Реенскаугом (норвежский ученый в сфере компьютерных наук и заслуженный профессор университета Осло) в 1979 году, работавшим в то время над языком программирования Smalltalk в Xerox PARC. Затем, на практике, была реализована версия MVC для библиотеки классов Smalltalk-80. Окончательная версия концепции была опубликована лишь в 1988 году в журнале Journal of Object Technology. Впоследствии шаблон проектирования MVC стал развиваться и конкретизироваться.
В настоящее время 3-х составная схема MVC широко распространена, и применяется в веб-разработках независимо от языка программирования, платформ и операционных систем.
Функции частей MVC:
Model - программная обработка и обращение к базе данных;
View - выводит результат в требуемом виде, к одной модели можно прикрепить несколько разных представлений;
Controller - распределяет внешние запросы пользователей между моделью и представлением.
Используя шаблон MVC изменить дизайн сайта или его логику работы гораздо проще и быстрее. Даже отдельный разработчик, не боясь запутаться в коде, может создавать веб-приложения высокой организованности. Работая в команде, прикладные программисты и веб-дизайнеры, будут чувствовать себя каждый в своей родной стихии.
Концепция MVC используется для многих платформ и языков программирования, не исключение и ASP.NET. В нашем случае исходники веб-сайтов написаны на языке C# на платформе ASP.NET в соответствии с шаблоном Модель-Вид-Контроллер. C# мощный, легко изучаемый язык программирования, специально созданный для платформы .NET. Являясь языком прикладного уровня C# предоставляет огромные возможности по сравнению с другими языками веб-разработок. Одно из многих достоинств C# это то, что он играючи справляется с любыми кодировками и символами.
Самостоятельно создать шаблон сайта MVC очень сложно, и если не задаваться целью создания собственного каркаса, рекомендуется использовать готовые шаблоны в составе среды программирования Microsoft Visual Studio .NET. Для отдельных разработчиков компания Microsoft предоставляет бесплатные интегрированные среды Visual Studio Express и Visual Studio Community, а для организаций - профессиональные инструменты с широчайшими возможностями Visual Studio Professional и Visual Studio Enterprise.
В шаблоне MVC платформы ASP.NET в качестве модели выступают «обыкновенные классы» C#, получающие данные из источника для формирования контента. Название класса может быть любым, но если используется Entity Framework для доступа к данных, то названия классов должны совпадать с названиями таблиц базы. Как правило, в классах происходит основная логическая работа, далее через контроллеры в представления передаются уже готовые данные. Вспомогательную часть программной обработки можно осуществлять в дополнительных классах и контроллерах, стараясь минимизировать количество программного кода в методах контроллеров.
// Класс модели // Все запросы к базам данных в этом классеpublicclassAnimals{// Список с данными животныхpublicList<DataAnimals>List=newList<DataAnimals>();// Инициализация каталога со списком животныхpublicAnimals(stringdir=null){Dogsdogs;Catscats;Fishfish;switch(dir){case"Dogs":dogs=newDogs(List,"dogs/");break;case"Cats":cats=newCats(List,"cats/");break;case"Fish":fish=newFish(List,"fish/");break;default:dogs=newDogs(List,"dogs/");cats=newCats(List,"cats/");fish=newFish(List,"fish/");break;}}// Инициализация данных животного по идентификаторуpublicAnimals(stringdir,stringid){Dogsdogs;Catscats;Fishfish;switch(dir){case"Dogs":dogs=newDogs(List,"dogs/",id);break;case"Cats":cats=newCats(List,"cats/",id);break;case"Fish":fish=newFish(List,"fish/",id);break;default://break;}}}
Контроллер это специальный класс ASP.NET MVC, производный от базового класса Controller. Название каждого контроллера обязательно должно состоять из двух частей: имени и суффикса Controller, например HomeController, AnimalsController. Контроллеров в веб-приложении может быть несколько. Controller шаблона ASP.NET MVC имеет методы реагирующие на HTTP-запросы направляемые на веб-сайт. Имена контроллеров и названия методов являются частями веб-адреса, например: http://domen/home(контроллер)/index(метод), http://domen/animals(контроллер)/dogs(метод).
В качестве представлений выступают файлы с расширением .cshtml, vbhtml с обработчиком Razor, позволяющий гармонично внедрять код языков .NET в код HTML. Основой синтаксиса Razor является знак @, после которого осуществляется переход к коду на языках C#/VB.NET. Также возможно использование и сторонних движков для представлений. Файлы .cshtml и .vbhtml в процессе генерации ответа контроллером компилируются в классы, из которых затем создается страница с "чистым" HTML кодом. Концепция MVC предписывает использовать минимальное количество кода C# и VB.NET в представлениях, поскольку вся основная программная обработка должна происходить в модели и контроллерах.
@* Устанавливаем тип модели *@@model ASPMVC.Models.Animals
@{ViewBag.Title="Семейство кошачьих";Layout="~/Views/_LayoutPage1.cshtml";}<h2>Семейство кошачьих</h2>@* После того как тип модели установили, обращаемся
к объекту модели по имени Model *@<ul>@for(inti=0;i<@Model.List.Count;i++){<li><ahref="/animals/@Model.List[i].Url">@Model.List[i].Name</a></li>}</ul>
В шаблон ASP.NET MVC встроена возможность создания человеко-понятных (ЧПУ) веб-адресов. При обработке запросов каркас ASP.NET MVC опирается на продвинутую систему маршрутизации, которая сопоставляет все входящие запросы с определенными в системе маршрутами. Каждый отдельный маршрут указывает какой контроллер (его метод) должен обработать входящий запрос. Встроенный в шаблон маршрут по умолчанию предполагает трехзвенную структуру: контроллер/метод/параметр, а непосредственно адрес выглядит: домен/каталог(имя_контроллера)/раздел(название_метода)/параметр. Возможно определение любой структуры маршрутов.
По мере работы над сайтом можно возвращаться к каждой части шаблона модель-вид-контроллер и по необходимости дорабатывать и совершенствовать ее. Последовательность работы с контроллерами, моделями и представлениями любая, можно работать над каждой частью независимо от других частей, в чем и достоинство концепции MVC.
Ниже прикреплены исходники сайтов шаблона ASP.NET MVC: с одним представлением для каждой модели, в другом для одной модели используются несколько визуальных форм. Исходники можно тестировать создавая новые контроллеры, представления и изменяя модель. Исходный код написан в среде MS Visual Studio .NET 2015 Community, для работы над исходниками можно использовать MS Visual Studio .NET 2013 и выше, а также SharpDevelop 4.4 и выше.
Примечание. После загрузки исходника в Visual Studio .NET требуется очистить проект, а затем его вновь собрать. Таким образом будут установлены необходимые библиотеки. Компьютер должен быть подключён к сети интернет.
Скачать исходник
Тема: «Два примера сайтов ASP.NET MVC»
aspmvc.zip
Размер:2282 КбайтЗагрузки:2904