2. .NET Core и MVC

Итак, мы увидели, как можно создать базовое приложение, но строить логику в одном единственном файле для большого сайта может стать серьезной занозой, а как поддерживать такое я даже не представляю. Можно попытаться построить какую-то машину, которая будет смотреть на то, какие параметры присылает браузер серверу и пытаться в зависимости от различных составляющих вызывать тот или иной код, который мы для своего удобства разбросаем по файлам.

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

MVC наверно самый популярный паттерн в Web программировании и его смысл заключается в том, чтобы отделить бизнес логику приложения (модель) от представления (View). Контроллер – это промежуточное звено, которое связывает бизнес логику и то, как отображается страница.

С популярностью мобильных приложений этот паттерн показал свои лучшие стороны, если реализован правильно. Один и тот же код – модель будет использоваться для двух разных приложений, где представлениями могут быть – HTML или UI мобильного приложения, а связывать их будут свои контроллеры.

Чтобы не повторятся в контроллерах, они должны быть максимально тупыми. Их основная задача – получить данные от модели и передать представлению. Когда представление хочет отправить данные модели, то тут контроллер получает информация от представления, может конвертировать данные в нужный формат и передать дальше модели.

Мобильные контроллеры могут быть в виде кода, который передает данные напрямую UI, если использовать Xamarin, а может быть и простой еще один Web контроллер, который отображает возвращает данные в виде JSON и это уже получается WebAPI REST сервис

Следующая глава

2.1. MVC (Model View Controller) в .NET Core

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне


Я в социальных сетях
Facebook Telegram Програмысли
Youtube Instagram Твитер