Только факты 4: Models, ViewModels, Mapping
Сайтостроение | создано: 17.02.2021 | опубликовано: 18.02.2021 | обновлено: 13.01.2024 | просмотров: 545
В этом видео про: calabonga, backend, программирование, обучение, шаблоны, паттерны, csharp, architecture, архитектура, mapper, automapper, mapster, expressmapper, только факты
Описание
Ключевые моменты:
#aspnetcore #mvc #viewmodels #DTO #aspnetcore #mediatr #automapper
В этом видео:
* Зачем нужны ViewModel’ы?
* В чем отличие ViewModel от Data Transfer Object (DTO)?
* Что такое маппинг (property mapping)?
* Можно же и «вручную»! Зачем маппер?
* Какие mapper бывают и как выбрать?
О проекте
В этом видео проект, который является новой версией уже существующего сайта jfacts.ru. Реализация сопровождается видео материалами, в которых показаны все сложности, проблемы и трудности, которые пришлось решить процессе создания новой версии: импорт/экспорт данных, трансформация данных в новый формат, сохранение маршрутов сайта (routing), миграция из ASP.NET MVC 5 на ASP.NET Core MVC и другие важные вещи.
Цели и задачи
Показать на конкретном примере конкретного сайта (хоть и очень простого) проблемные моменты и способы их решения. Потому что всегда для любого разработчика "ковыряться" в старом коде было не самой приятной задачей (на мой взгляд) и тем более в чужом старом коде. А это нам обычно и приходится делать при устройстве на новую работу.
Затронутые аспекты:
* EntityFrameworkCore (ORM)
* EntityFrameworkCore Migrations
* MS SQL Server
* Microsoft.AspNetCore.Identity
* Mediatr (паттерн "Посредник")
* Automapper (маппинг DTO)
* BackgroudWorker (IHostedServices)
* Blazor (Components)
* JavaScript (очень мало)
* BundleConfig (CSS и JavaScript)
* Razor (разметка для MVC)
* Razor (TagHelper компоненты)
* Bootstrap фреймворк (CSS)
* Font Awesome (icons)
* Serilog (loпging)
* и многие другие
00:00 | Приветствие и вступление
00:55 | Немного теории о маппинге
11:12 | Практическое программирование
Видео
Ссылки
http://jfacts.ru
https://github.com/Calabonga/Facts
http://expressmapper.org/
https://automapper.org/
https://github.com/MapsterMapper/Mapster