В C# 9 появилось новое ключевое слово record для обозначения неизменяемых (immutable) типов данных. Это значит, что вы не можете поменять свойство такого объекта без создания нового экземпляра. Классический пример подобного поведение — хорошо известный тип DateTime. Вместе с ключевым словом добавился и упрощённый синтаксис по объявлению таких типов данных: Объявленные таким сокращенным образом типы данных очень удобно использовать в качестве моделей для запросов и ответов в API. Например: Здесь UserQuery представляет собой модель данных запроса, и в то же время при использовании паттерна CQRS эту же самую модель данных можно передать в обработчик (пример с использованием библиотеки MediatR будет ниже). Модификация "немодифицируемого" типа record Выше мы рассмотрели пример запроса (query), а теперь рассмотрим пример команды (command). Допустим, нам нужно сделать API для изменения имени пользователя по его id. Команда на обновление пользователя будет выглядеть так: А API, по которому мы
Использование record в качестве Command/Query моделей ASP.NET контроллера
21 февраля 202421 фев 2024
21
1 мин