Pro asp net core mvc 2

Pro asp net core mvc 2

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

  1. HTML 40.5%
  2. JavaScript 30.7%
  3. CSS 19.6%
  4. C# 5.7%
  5. CoffeeScript 2.4%
  6. Ruby 0.4%
  7. Other 0.7%

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading

Want to be notified of new releases in Apress/pro-asp.net-core-mvc-2 ?

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Введение в MVC

Одним из отличительных моментов платформы ASP.NET Core является применение паттерна MVC. Причем последняя версия MVC-фреймворка, который применяется в ASP.NET Core, имеет номер 3.0/3.1. Поэтому важно не путать ASP.NET MVC 5, который применяется в ASP.NET 4.5-4.8, и фреймворк MVC, который применяется в ASP.NET Core. Хотя во многих аспектах эти фремйоворки будут совпадать.

Также неверно отождествлять ASP.NET Core всецело с фреймворком ASP.NET Core MVC. Фреймворк ASP.NET Core MVC работает поверх платформы ASP.NET Core, и предназначен для того, чтобы упростить создание приложения. Но мы можем и не использовать MVC, а применять чистый ASP.NET Core и на нем всецело выстраивать логику приложения.

Сам паттерн MVC не является какой-то новой идеей в архитектуре приложений, он появился еще в конце 1970-х годов в компании Xerox как способ организации компонентов в графическом приложение на языке Smalltalk.

Концепция паттерна MVC предполагает разделение приложения на три компонента:

Модель (model) : описывает используемые в приложении данные, а также логику, которая связана непосредственно с данными, например, логику валидации данных. Как правило, объекты моделей хранятся в базе данных.

Читайте также:  Реклама в яндексе вирус как убрать

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

Модель может содержать данные, хранить логику управления этими данными. В то же время модель не должна содержать логику взаимодействия с пользователем и не должна определять механизм обработки запроса. Кроме того, модель не должна содержать логику отображения данных в представлении.

Представление (view) : отвечают за визуальную часть или пользовательский интерфейс, нередко html-страница, через который пользователь взаимодействует с приложением. Также представление может содержать логику, связанную с отображением данных. В то же время представление не должно содержать логику обработки запроса пользователя или управления данными.

Контроллер (controller) : представляет центральный компонент MVC, который обеспечивает связь между пользователем и приложением, представлением и хранилищем данных. Он содержит логику обработки запроса пользователя. Контроллер получает вводимые пользователем данные и обрабатывает их. И в зависимости от результатов обработки отправляет пользователю определенный вывод, например, в виде представления, наполненного данными моделей.

Отношения между компонентами паттерна можно описать следующей схемой:

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

Такое разграничение компонентов приложения позволяет реализовать концепцию разделение ответственности, при которой каждый компонент отвечает за свою строго очерченную сферу. В связи с чем легче построить работу над отдельными компонентами. И благодаря этому приложение легче разрабатывать, поддерживать и тестировать отдельные компоненты. Допустим, если нам важна визуальная часть или фронтэнд, то мы можем тестировать представление независимо от контроллера. Либо мы можем сосредоточиться на бэкэнде и тестировать контроллер.

Читайте также:  Промокод на скидку бонприкс

Однако неверно полностью ассоциировать всю платформу ASP.NET Core с MVC. MVC — это лишь паттерн, который реализуется в рамках платформы. Мы можем создать проект по шаблону Empty где не будет никаких контроллеров, моделей, представлений, где будет один класс Startup. И через этот класс построить всю обработку запроса. Но естественно применение MVC облегчает разработку приложений.

Для создания проекта, применяющего MVC, нам надо выбрать шаблон Web Application (Model-View-Controller) :

Оставим все настройки по умолчанию и нажмем на ОК. И Visual Studio создаст новый проект MVC.

Структура создаваемого проекта будет отличаться от структуры проекта по типу Empty. В частности, мы увидим ряд новых папок и файлов:

Dependencies : все добавленные в проект пакеты и библиотеки

wwwroot : этот узел (на жестком диске ему соответствует одноименная папка) предназначен для хранения статических файлов — изображений, скриптов javascript, файлов css и т.д., которые используются приложением. Цель добавления этой папки в проект по сравнению с другими версиями ASP.NET, состоит в разграничении доступа к статическим файлам, к которым разрешен доступ со стороны клиента и к которым доступ запрещен.

Controllers : папка для хранения контроллеров, используемых приложением

Models : каталог для хранения моделей

Views : каталог для хранения представлений

appsettings.json : хранит конфигурацию приложения

Program.cs : файл, определяющий класс Program, который инициализирует и запускает хост с приложением.

Startup.cs : файл, определяющий класс Startup, с которого начинается работа приложения. То есть это входная точка в приложение.

Фактически эта та же структура, что и у проекта по типу Empty за тем исключением, что здесь также добавлены по умолчанию папки для ключевых компонентов фреймворка MVC: контроллеров и представлений. А также есть дополнительные узлы и файлы для управления зависимостями клиентской части приложения.

Читайте также:  Календарь с местом для записей

И если мы запустим проект на выполнение, то сработает запрос к контроллеру по умолчанию — классу HomeController, который выберет для генерации ответа нужное представление. И в итоге из представления будет создана html-страница, которую мы увидим в своем веб-браузере:

Pro ASP. NET Core MVC 2, 7th Edition (2017)
Автор: Adam Freeman

#aspnet@proglib #books@proglib #english@proglib #advanced@proglib

Целевая аудитория: опытные разработчики.

Перед вами обновлённое издание самой читаемой книги по ASP. NET Core. Она раскрывает основы популярной модели проектирования приложений на данный момент — модели MVC, принципы работы ASP. NET Core, даёт описание основным методам и инструментам, необходимым для создания высоко-нагруженных и легко расширяемых приложений. Издание обновлено до C#7, Visual Studio 2017 и .NET Core 2 и содержит описание как фреймворка, так и работу с ним.

В книге рассматриваются следующие темы:
первое MVC приложение;
основы C#;
тестирование MVC приложений;
роутинг;
контроллеры и методы;
представления;
работа с хелперами;
валидация и многое другое.

Преимущества:
подходит начинающим;
актуальная версия фреймворка и языка С#;
современны принципы создания приложений: тестирование;
вспомогательные иллюстрации.

Недостатки:
большой объём.

Купить бумажный вариант книги на русском — https://prglb.ru/23knf

Купить бумажный вариант книги на английском — https://prglb.ru/4cmi7

Ссылка на основную публикацию
Intel gma hd 2000
Intel HD Graphics 2000 – интегрированный видеочип, устанавливаемый в процессоры Intel поколения Sandy Bridge. В основном данное видеоядро устанавливается в...
Corsair force series mp300
The CORSAIR MP300 M.2 PCIe NVMe SSD delivers three-times the performance of SATA drives in a compact M.2 form factor....
Couldn t flash try again
Сам уже разобрался.Решение: Если собираетесь ставить через MiFlash, то обязательно обратите внимание, чтобы у вас в папке с прошивкой не...
Intel hd graphics 5500 какие игры пойдут
Современные ноутбуки – это не только мобильные устройства для работы. Многие из них обладают достаточной мощностью для запуска большого количества...
Adblock detector