Reo.Core.BaseDomainModels.MediatorGenerator 6.0.573

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.BaseDomainModels.MediatorGenerator --version 6.0.573
                    
NuGet\Install-Package Reo.Core.BaseDomainModels.MediatorGenerator -Version 6.0.573
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reo.Core.BaseDomainModels.MediatorGenerator" Version="6.0.573" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.BaseDomainModels.MediatorGenerator" Version="6.0.573" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.BaseDomainModels.MediatorGenerator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reo.Core.BaseDomainModels.MediatorGenerator --version 6.0.573
                    
#r "nuget: Reo.Core.BaseDomainModels.MediatorGenerator, 6.0.573"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reo.Core.BaseDomainModels.MediatorGenerator@6.0.573
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reo.Core.BaseDomainModels.MediatorGenerator&version=6.0.573
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.BaseDomainModels.MediatorGenerator&version=6.0.573
                    
Install as a Cake Tool

Reo.Core.BaseDomainModels.MediatorGenerator

Описание пакета

Пакет Reo.Core.BaseDomainModels.MediatorGenerator предоставляет базовые классы и интерфейсы для реализации доменной логики в приложениях, использующих подход Domain-Driven Design (DDD) с интеграцией MediatR. Он решает задачи структурирования доменных объектов, управления командами и событиями, а также обеспечивает стандартный интерфейс для работы с репозиториями. Основные функции:

  • Поддержка агрегатов домена с возможностью обработки команд и событий.
  • Интеграция с Mediator.Abstractions для декларативного управления бизнес-логикой.
  • Обобщённые интерфейсы для репозиториев (чтение/запись) с поддержкой типизированных идентификаторов.

Основные компоненты

Классы

  • ReoAggregateRoot<TId> Базовый класс для агрегатов домена. Реализует логику добавления команд, событий и обработки изменений состояния.

  • ReoReferenceModel Абстрактный класс для моделей справочников, наследуется от ReoAggregateRoot<int>. Предоставляет базовое свойство Name.

Интерфейсы

  • IReoDomainCommand Обобщённый интерфейс для команд, реализующих IRequest из Mediator.Abstractions. Используется для передачи инструкций в систему.

  • IReoDomainCommandWithResult Интерфейс для команд, возвращающих результат типа bool. Реализует IRequest<bool> из Mediator.Abstractions.

  • IReoDomainEvent Интерфейс для событий, используемых для реакции на изменения состояния агрегатов.

  • IReoDomainReadOnlyBaseRepository<TAggregateRoot, TId> Обобщённый интерфейс для репозиториев чтения. Предоставляет метод GetAsync для получения агрегата по идентификатору.

  • IReoDomainWriteOnlyBaseRepository<TAggregateRoot, TId> Обобщённый интерфейс для репозиториев записи. Предоставляет метод SaveAsync для сохранения агрегата.

Службы

  • IReoDomainCommandsExecutor Интерфейс для исполнения команд, включает методы ExecuteDomainCommandsAsync и ExecuteDomainCommandsWithResultsAsync.

  • IReoDomainEventsExecutor Интерфейс для исполнения событий, включает методы ExecuteDomainEventsAsync и SequentialExecuteDomainEventsAsync.

Требования

Установка

NuGet Package Manager

Install-Package Reo.Core.BaseDomainModels.MediatorGenerator

.NET CLI

dotnet add package Reo.Core.BaseDomainModels.MediatorGenerator

Настройка

Регистрация в DI-контейнере (ASP.NET Core)

public void ConfigureServices(IServiceCollection services)
{
    services.AddMediator();
}

Конфигурационные параметры

N/A (пакет не требует дополнительной настройки).

Использование

Пример 1: Создание агрегата

public class MyAggregateRoot : ReoAggregateRoot<int>
{
    public string Data { get; private set; }

    public void UpdateData(string newData)
    {
        if (Data == newData) return;
        Data = newData;
        AddDomainEvent(new DataUpdatedEvent(newData));
    }
}

Пример 2: Обработка команды

public class UpdateDataCommandHandler : IRequestHandler<UpdateDataCommand, bool>
{
    private readonly IReoDomainWriteOnlyRepository<MyAggregateRoot> _repository;

    public UpdateDataCommandHandler(IReoDomainWriteOnlyRepository<MyAggregateRoot> repository)
    {
        _repository = repository;
    }

    public async Task<bool> Handle(UpdateDataCommand request, CancellationToken cancellationToken)
    {
        var aggregate = await _repository.GetAsync(request.Id, cancellationToken);
        aggregate.UpdateData(request.NewData);
        await _repository.SaveAsync(aggregate, cancellationToken);
        return true;
    }
}

Пример 3: Репозиторий

public class MyRepository : IReoDomainReadOnlyRepository<MyAggregateRoot>, IReoDomainWriteOnlyRepository<MyAggregateRoot>
{
    public async Task<MyAggregateRoot> GetAsync(int id, CancellationToken token)
    {
        // Реализация получения данных из источника
        return new MyAggregateRoot(id, "Initial data");
    }

    public async Task<int> SaveAsync(MyAggregateRoot domain, CancellationToken token)
    {
        // Реализация сохранения данных
        return domain.Id;
    }
}

Лицензия

Данный пакет распространяется под лицензией MIT.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Reo.Core.BaseDomainModels.MediatorGenerator:

Package Downloads
Reo.Core.Application.Abstractions.MediatorGenerator

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.573 31 9/23/2025
8.0.572 30 9/23/2025
8.0.571 34 9/23/2025
8.0.570 32 9/23/2025
8.0.569 57 9/22/2025
8.0.568 59 9/22/2025
8.0.567 45 9/22/2025
8.0.566 60 9/21/2025
8.0.565 201 9/19/2025
8.0.564 193 9/19/2025
8.0.563 208 9/19/2025
8.0.562 213 9/19/2025
8.0.561 277 9/16/2025
8.0.560 273 9/16/2025
8.0.559 271 9/16/2025
8.0.558 262 9/16/2025
8.0.557 207 9/15/2025
8.0.556 228 9/15/2025
8.0.555 98 9/12/2025
8.0.554 138 9/11/2025
8.0.553 142 9/11/2025
8.0.552 139 9/11/2025
8.0.551 138 9/11/2025
8.0.550 142 9/11/2025
8.0.548 139 9/11/2025
8.0.547 142 9/11/2025
8.0.546 140 9/11/2025
8.0.545 126 9/11/2025
8.0.544 144 9/10/2025
8.0.543 142 9/10/2025
8.0.542 143 9/10/2025
8.0.541 134 9/10/2025
8.0.540 131 9/9/2025
8.0.539 140 9/9/2025
8.0.538 141 9/9/2025
8.0.537 146 9/9/2025
8.0.536 142 9/9/2025
8.0.535 144 9/9/2025
8.0.534 143 9/9/2025
8.0.533 142 9/9/2025
8.0.532 142 9/8/2025
8.0.531 116 9/5/2025
8.0.530 154 9/4/2025
8.0.529 149 9/4/2025
8.0.528 154 9/4/2025
8.0.527 152 9/4/2025
8.0.526 151 9/3/2025
8.0.525 140 9/2/2025
8.0.524 127 9/2/2025
8.0.523 139 9/2/2025
8.0.522 190 8/28/2025
8.0.521 190 8/27/2025
8.0.520 194 8/27/2025
8.0.519 191 8/27/2025
8.0.518 188 8/27/2025
8.0.517 153 8/25/2025
8.0.516 280 8/25/2025
8.0.515 212 8/24/2025
8.0.514 142 8/21/2025
8.0.513 139 8/20/2025
8.0.512 137 8/20/2025
8.0.511 135 8/20/2025
8.0.510 137 8/18/2025
8.0.509 140 8/18/2025
8.0.508 147 8/13/2025
8.0.506 145 8/13/2025
8.0.505 140 8/13/2025
8.0.504 146 8/13/2025
8.0.503 148 8/13/2025
8.0.502 148 8/12/2025
8.0.501 142 8/12/2025
8.0.500 145 8/12/2025
8.0.499 150 8/12/2025
8.0.498 149 8/11/2025
8.0.497 177 8/8/2025
8.0.496 184 8/8/2025
8.0.495 187 8/8/2025
8.0.494 209 8/8/2025
8.0.493 221 8/7/2025
8.0.492 218 8/7/2025
8.0.491 218 8/7/2025
8.0.490 195 8/7/2025
8.0.489 207 8/5/2025
8.0.488 207 8/5/2025
8.0.487 70 8/1/2025
8.0.486 97 7/30/2025
8.0.485 105 7/28/2025
8.0.484 95 7/28/2025
8.0.483 95 7/28/2025
8.0.482 98 7/28/2025
8.0.481 97 7/28/2025
8.0.480 367 7/25/2025
8.0.479 396 7/25/2025
8.0.478 392 7/25/2025
8.0.477 403 7/25/2025
8.0.476 407 7/25/2025
8.0.475 466 7/24/2025
8.0.474 462 7/24/2025
8.0.473 513 7/23/2025
8.0.472 517 7/23/2025
8.0.470 515 7/23/2025
8.0.469 512 7/23/2025
8.0.468 512 7/23/2025
8.0.467 510 7/23/2025
8.0.466 517 7/23/2025
8.0.465 509 7/23/2025
8.0.464 509 7/23/2025
8.0.463 512 7/23/2025
8.0.462 510 7/22/2025
8.0.461 507 7/22/2025
8.0.460 395 7/21/2025
8.0.459 76 7/18/2025
8.0.458 88 7/18/2025
8.0.457 118 7/17/2025
8.0.456 119 7/17/2025
8.0.455 118 7/17/2025
8.0.454 115 7/17/2025
8.0.453 115 7/17/2025
8.0.452 118 7/17/2025
8.0.451 116 7/17/2025
8.0.450 112 7/17/2025
8.0.449 119 7/17/2025
8.0.448 120 7/17/2025
8.0.447 118 7/16/2025
8.0.446 121 7/16/2025
8.0.445 122 7/16/2025
8.0.444 120 7/16/2025
8.0.443 115 7/16/2025
8.0.442 118 7/16/2025
8.0.439 121 7/15/2025
8.0.438 121 7/15/2025
8.0.437 121 7/15/2025
8.0.436 118 7/15/2025
8.0.435 121 7/15/2025
8.0.433 123 7/14/2025
8.0.432 124 7/14/2025
8.0.431 99 7/11/2025
8.0.430 111 7/11/2025
8.0.429 124 7/10/2025
8.0.428 122 7/10/2025
8.0.427 129 7/9/2025
8.0.426 124 7/8/2025
8.0.425 125 7/8/2025
8.0.424 125 7/8/2025
8.0.423 122 7/8/2025
8.0.422 118 7/8/2025
8.0.421 124 7/8/2025
8.0.420 121 7/7/2025
8.0.419 122 7/7/2025
8.0.418 121 7/7/2025
8.0.417 124 7/7/2025
8.0.416 123 7/6/2025
8.0.415 86 7/4/2025
8.0.414 96 7/4/2025
8.0.411 130 7/3/2025
8.0.410 125 7/3/2025
8.0.409 122 7/3/2025
8.0.408 123 7/1/2025
8.0.407 122 7/1/2025
8.0.406 121 7/1/2025
8.0.405 130 7/1/2025
8.0.404 176 6/26/2025
8.0.403 121 6/26/2025
8.0.401 136 6/24/2025
8.0.400 123 6/24/2025
8.0.399 124 6/23/2025
8.0.398 125 6/23/2025
8.0.397 82 6/20/2025
8.0.396 126 6/19/2025
8.0.395 128 6/18/2025
8.0.394 129 6/18/2025
8.0.392 130 6/18/2025
8.0.390 224 6/18/2025
6.0.573 25 9/23/2025
6.0.572 29 9/23/2025
6.0.571 27 9/23/2025
6.0.570 29 9/23/2025
6.0.569 57 9/22/2025
6.0.568 50 9/22/2025
6.0.567 58 9/22/2025
6.0.566 56 9/21/2025
6.0.565 202 9/19/2025
6.0.564 198 9/19/2025
6.0.563 206 9/19/2025
6.0.562 209 9/19/2025
6.0.561 267 9/16/2025
6.0.560 273 9/16/2025
6.0.559 268 9/16/2025
6.0.558 272 9/16/2025
6.0.557 214 9/15/2025
6.0.556 221 9/15/2025
6.0.555 93 9/12/2025
6.0.554 138 9/11/2025
6.0.553 136 9/11/2025
6.0.552 140 9/11/2025
6.0.551 128 9/11/2025
6.0.550 136 9/11/2025
6.0.548 126 9/11/2025
6.0.547 136 9/11/2025
6.0.546 138 9/11/2025
6.0.545 136 9/11/2025
6.0.544 142 9/10/2025
6.0.543 138 9/10/2025
6.0.542 141 9/10/2025
6.0.541 132 9/10/2025
6.0.540 130 9/9/2025
6.0.539 139 9/9/2025
6.0.538 138 9/9/2025
6.0.537 139 9/9/2025
6.0.536 142 9/9/2025
6.0.535 136 9/9/2025
6.0.534 137 9/9/2025
6.0.533 136 9/9/2025
6.0.532 138 9/8/2025
6.0.531 113 9/5/2025
6.0.530 156 9/4/2025
6.0.529 137 9/4/2025
6.0.528 150 9/4/2025
6.0.527 151 9/4/2025
6.0.526 155 9/3/2025
6.0.525 140 9/2/2025
6.0.524 134 9/2/2025
6.0.523 139 9/2/2025
6.0.522 187 8/28/2025
6.0.521 188 8/27/2025
6.0.520 188 8/27/2025
6.0.519 190 8/27/2025
6.0.518 190 8/27/2025
6.0.517 159 8/25/2025
6.0.516 283 8/25/2025
6.0.515 209 8/24/2025
6.0.514 138 8/21/2025
6.0.513 138 8/20/2025
6.0.512 138 8/20/2025
6.0.511 140 8/20/2025
6.0.510 132 8/18/2025
6.0.509 131 8/18/2025
6.0.508 145 8/13/2025
6.0.506 142 8/13/2025
6.0.505 142 8/13/2025
6.0.504 149 8/13/2025
6.0.503 148 8/13/2025
6.0.502 143 8/12/2025
6.0.501 142 8/12/2025
6.0.500 143 8/12/2025
6.0.499 153 8/12/2025
6.0.498 142 8/11/2025
6.0.497 178 8/8/2025
6.0.496 186 8/8/2025
6.0.495 188 8/8/2025
6.0.494 208 8/8/2025
6.0.493 218 8/7/2025
6.0.492 229 8/7/2025
6.0.491 216 8/7/2025
6.0.490 195 8/7/2025
6.0.489 200 8/5/2025
6.0.488 200 8/5/2025
6.0.487 66 8/1/2025
6.0.486 99 7/30/2025
6.0.485 94 7/28/2025
6.0.484 93 7/28/2025
6.0.483 97 7/28/2025
6.0.482 96 7/28/2025
6.0.481 96 7/28/2025
6.0.480 370 7/25/2025
6.0.479 392 7/25/2025
6.0.478 390 7/25/2025
6.0.477 403 7/25/2025
6.0.476 409 7/25/2025
6.0.475 465 7/24/2025
6.0.474 463 7/24/2025
6.0.473 512 7/23/2025
6.0.472 509 7/23/2025
6.0.470 513 7/23/2025
6.0.469 508 7/23/2025
6.0.468 512 7/23/2025
6.0.467 510 7/23/2025
6.0.466 515 7/23/2025
6.0.465 508 7/23/2025
6.0.464 511 7/23/2025
6.0.463 512 7/23/2025
6.0.462 505 7/22/2025
6.0.461 504 7/22/2025
6.0.460 394 7/21/2025
6.0.459 72 7/18/2025
6.0.458 84 7/18/2025
6.0.457 116 7/17/2025
6.0.456 116 7/17/2025
6.0.455 117 7/17/2025