Reo.Core.BaseDomainModels.MediatorGenerator 8.0.458

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.BaseDomainModels.MediatorGenerator --version 8.0.458
                    
NuGet\Install-Package Reo.Core.BaseDomainModels.MediatorGenerator -Version 8.0.458
                    
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="8.0.458" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.BaseDomainModels.MediatorGenerator" Version="8.0.458" />
                    
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 8.0.458
                    
#r "nuget: Reo.Core.BaseDomainModels.MediatorGenerator, 8.0.458"
                    
#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@8.0.458
                    
#: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=8.0.458
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.BaseDomainModels.MediatorGenerator&version=8.0.458
                    
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 License.

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.629 89 10/13/2025
8.0.628 88 10/13/2025
8.0.627 85 10/13/2025
8.0.626 87 10/10/2025
8.0.625 91 10/10/2025
8.0.624 104 10/10/2025
8.0.623 119 10/10/2025
8.0.622 164 10/9/2025
8.0.621 158 10/9/2025
8.0.620 163 10/9/2025
8.0.619 157 10/9/2025
8.0.618 159 10/9/2025
8.0.617 155 10/9/2025
8.0.616 157 10/9/2025
8.0.615 161 10/9/2025
8.0.614 161 10/8/2025
8.0.613 167 10/8/2025
8.0.612 170 10/6/2025
8.0.611 136 10/3/2025
8.0.610 133 10/3/2025
8.0.609 121 10/3/2025
8.0.608 124 10/3/2025
8.0.607 136 10/3/2025
8.0.606 133 10/3/2025
8.0.605 135 10/3/2025
8.0.604 140 10/3/2025
8.0.603 131 10/3/2025
8.0.602 171 10/2/2025
8.0.600 160 10/2/2025
8.0.599 166 10/2/2025
8.0.598 162 10/1/2025
8.0.597 168 10/1/2025
8.0.596 171 10/1/2025
8.0.595 174 9/30/2025
8.0.594 171 9/30/2025
8.0.593 176 9/30/2025
8.0.592 177 9/30/2025
8.0.591 174 9/30/2025
8.0.589 175 9/29/2025
8.0.588 177 9/29/2025
8.0.587 164 9/29/2025
8.0.586 159 9/29/2025
8.0.585 176 9/29/2025
8.0.583 140 9/26/2025
8.0.582 161 9/26/2025
8.0.580 177 9/25/2025
8.0.579 182 9/25/2025
8.0.578 168 9/25/2025
8.0.577 176 9/25/2025
8.0.576 178 9/25/2025
8.0.575 176 9/25/2025
8.0.574 188 9/24/2025
8.0.573 174 9/23/2025
8.0.572 188 9/23/2025
8.0.571 183 9/23/2025
8.0.570 177 9/23/2025
8.0.569 189 9/22/2025
8.0.568 230 9/22/2025
8.0.567 221 9/22/2025
8.0.566 202 9/21/2025
8.0.565 246 9/19/2025
8.0.564 224 9/19/2025
8.0.563 239 9/19/2025
8.0.562 256 9/19/2025
8.0.561 308 9/16/2025
8.0.560 304 9/16/2025
8.0.559 302 9/16/2025
8.0.558 290 9/16/2025
8.0.557 229 9/15/2025
8.0.556 250 9/15/2025
8.0.555 121 9/12/2025
8.0.554 161 9/11/2025
8.0.553 166 9/11/2025
8.0.552 161 9/11/2025
8.0.551 160 9/11/2025
8.0.550 164 9/11/2025
8.0.548 169 9/11/2025
8.0.547 167 9/11/2025
8.0.546 163 9/11/2025
8.0.545 154 9/11/2025
8.0.544 163 9/10/2025
8.0.543 165 9/10/2025
8.0.542 170 9/10/2025
8.0.541 152 9/10/2025
8.0.540 150 9/9/2025
8.0.539 159 9/9/2025
8.0.538 159 9/9/2025
8.0.537 168 9/9/2025
8.0.536 169 9/9/2025
8.0.535 167 9/9/2025
8.0.534 161 9/9/2025
8.0.533 164 9/9/2025
8.0.532 163 9/8/2025
8.0.531 134 9/5/2025
8.0.530 178 9/4/2025
8.0.529 167 9/4/2025
8.0.528 173 9/4/2025
8.0.527 170 9/4/2025
8.0.526 171 9/3/2025
8.0.525 158 9/2/2025
8.0.524 149 9/2/2025
8.0.523 161 9/2/2025
8.0.522 209 8/28/2025
8.0.521 207 8/27/2025
8.0.520 212 8/27/2025
8.0.519 218 8/27/2025
8.0.518 205 8/27/2025
8.0.517 168 8/25/2025
8.0.516 313 8/25/2025
8.0.515 228 8/24/2025
8.0.514 159 8/21/2025
8.0.513 155 8/20/2025
8.0.512 153 8/20/2025
8.0.511 156 8/20/2025
8.0.510 153 8/18/2025
8.0.509 167 8/18/2025
8.0.508 167 8/13/2025
8.0.506 166 8/13/2025
8.0.505 166 8/13/2025
8.0.504 162 8/13/2025
8.0.503 165 8/13/2025
8.0.502 164 8/12/2025
8.0.501 160 8/12/2025
8.0.500 161 8/12/2025
8.0.499 166 8/12/2025
8.0.498 164 8/11/2025
8.0.497 194 8/8/2025
8.0.496 200 8/8/2025
8.0.495 203 8/8/2025
8.0.494 230 8/8/2025
8.0.493 238 8/7/2025
8.0.492 235 8/7/2025
8.0.491 234 8/7/2025
8.0.490 197 8/7/2025
8.0.489 209 8/5/2025
8.0.488 209 8/5/2025
8.0.487 73 8/1/2025
8.0.486 99 7/30/2025
8.0.485 126 7/28/2025
8.0.484 112 7/28/2025
8.0.483 113 7/28/2025
8.0.482 115 7/28/2025
8.0.481 116 7/28/2025
8.0.480 375 7/25/2025
8.0.479 405 7/25/2025
8.0.478 400 7/25/2025
8.0.477 412 7/25/2025
8.0.476 415 7/25/2025
8.0.475 470 7/24/2025
8.0.474 466 7/24/2025
8.0.473 515 7/23/2025
8.0.472 520 7/23/2025
8.0.470 517 7/23/2025
8.0.469 514 7/23/2025
8.0.468 514 7/23/2025
8.0.467 512 7/23/2025
8.0.466 520 7/23/2025
8.0.465 511 7/23/2025
8.0.464 512 7/23/2025
8.0.463 514 7/23/2025
8.0.462 512 7/22/2025
8.0.461 509 7/22/2025
8.0.460 397 7/21/2025
8.0.459 77 7/18/2025
8.0.458 89 7/18/2025
8.0.457 119 7/17/2025
8.0.456 120 7/17/2025
8.0.455 119 7/17/2025
8.0.454 116 7/17/2025
8.0.453 116 7/17/2025
8.0.452 120 7/17/2025
8.0.451 118 7/17/2025
8.0.450 114 7/17/2025
8.0.449 121 7/17/2025
8.0.448 122 7/17/2025
8.0.447 120 7/16/2025
8.0.446 122 7/16/2025
8.0.445 123 7/16/2025
8.0.444 121 7/16/2025
8.0.443 118 7/16/2025
8.0.442 121 7/16/2025
8.0.439 122 7/15/2025
8.0.438 122 7/15/2025
8.0.437 122 7/15/2025
8.0.436 119 7/15/2025
8.0.435 123 7/15/2025
8.0.433 124 7/14/2025
8.0.432 125 7/14/2025
8.0.431 100 7/11/2025
8.0.430 112 7/11/2025
8.0.429 125 7/10/2025
8.0.428 123 7/10/2025
8.0.427 130 7/9/2025
8.0.426 125 7/8/2025
8.0.425 126 7/8/2025
8.0.424 126 7/8/2025
8.0.423 123 7/8/2025
8.0.422 119 7/8/2025
8.0.421 125 7/8/2025
8.0.420 123 7/7/2025
8.0.419 123 7/7/2025
8.0.418 122 7/7/2025
8.0.417 125 7/7/2025
8.0.416 124 7/6/2025
8.0.415 88 7/4/2025
8.0.414 97 7/4/2025
8.0.411 131 7/3/2025
8.0.410 126 7/3/2025
8.0.409 125 7/3/2025
8.0.408 126 7/1/2025
8.0.407 123 7/1/2025
8.0.406 124 7/1/2025
8.0.405 131 7/1/2025
8.0.404 210 6/26/2025
8.0.403 122 6/26/2025
8.0.401 137 6/24/2025
8.0.400 125 6/24/2025
8.0.399 125 6/23/2025
8.0.398 126 6/23/2025
8.0.397 83 6/20/2025
8.0.396 127 6/19/2025
8.0.395 130 6/18/2025
8.0.394 130 6/18/2025
8.0.392 131 6/18/2025
8.0.390 279 6/18/2025
6.0.629 80 10/13/2025
6.0.628 78 10/13/2025
6.0.627 82 10/13/2025
6.0.626 86 10/10/2025
6.0.625 89 10/10/2025
6.0.624 102 10/10/2025
6.0.623 116 10/10/2025
6.0.622 158 10/9/2025
6.0.621 154 10/9/2025
6.0.620 162 10/9/2025
6.0.619 157 10/9/2025
6.0.618 159 10/9/2025
6.0.617 156 10/9/2025
6.0.616 159 10/9/2025
6.0.615 157 10/9/2025
6.0.614 163 10/8/2025
6.0.613 155 10/8/2025
6.0.612 167 10/6/2025
6.0.611 148 10/3/2025
6.0.610 129 10/3/2025
6.0.609 126 10/3/2025
6.0.608 130 10/3/2025
6.0.607 132 10/3/2025
6.0.606 137 10/3/2025
6.0.605 134 10/3/2025
6.0.604 145 10/3/2025
6.0.603 141 10/3/2025
6.0.602 166 10/2/2025
6.0.600 173 10/2/2025
6.0.599 175 10/2/2025
6.0.598 176 10/1/2025
6.0.597 169 10/1/2025
6.0.596 169 10/1/2025
6.0.595 173 9/30/2025
6.0.594 170 9/30/2025
6.0.593 168 9/30/2025
6.0.592 169 9/30/2025
6.0.591 173 9/30/2025
6.0.589 173 9/29/2025
6.0.588 176 9/29/2025
6.0.587 171 9/29/2025
6.0.586 167 9/29/2025
6.0.585 172 9/29/2025
6.0.583 135 9/26/2025
6.0.582 170 9/26/2025
6.0.580 172 9/25/2025
6.0.579 178 9/25/2025
6.0.578 175 9/25/2025
6.0.577 176 9/25/2025
6.0.576 177 9/25/2025
6.0.575 177 9/25/2025
6.0.574 181 9/24/2025
6.0.573 180 9/23/2025
6.0.572 175 9/23/2025
6.0.571 172 9/23/2025
6.0.570 184 9/23/2025
6.0.569 194 9/22/2025
6.0.568 214 9/22/2025
6.0.567 235 9/22/2025
6.0.566 188 9/21/2025
6.0.565 241 9/19/2025
6.0.564 231 9/19/2025
6.0.563 246 9/19/2025
6.0.562 241 9/19/2025
6.0.561 306 9/16/2025
6.0.560 303 9/16/2025
6.0.559 300 9/16/2025
6.0.558 304 9/16/2025
6.0.557 236 9/15/2025
6.0.556 243 9/15/2025
6.0.555 115 9/12/2025
6.0.554 161 9/11/2025
6.0.553 160 9/11/2025
6.0.552 164 9/11/2025
6.0.551 158 9/11/2025
6.0.550 159 9/11/2025
6.0.548 151 9/11/2025
6.0.547 163 9/11/2025
6.0.546 165 9/11/2025
6.0.545 149 9/11/2025
6.0.544 161 9/10/2025
6.0.543 156 9/10/2025
6.0.542 168 9/10/2025
6.0.541 149 9/10/2025
6.0.540 154 9/9/2025
6.0.539 156 9/9/2025
6.0.538 146 9/9/2025
6.0.537 157 9/9/2025
6.0.536 159 9/9/2025
6.0.535 154 9/9/2025
6.0.534 155 9/9/2025
6.0.533 154 9/9/2025
6.0.532 158 9/8/2025
6.0.531 132 9/5/2025
6.0.530 175 9/4/2025
6.0.529 155 9/4/2025
6.0.528 172 9/4/2025
6.0.527 169 9/4/2025
6.0.526 173 9/3/2025
6.0.525 163 9/2/2025
6.0.524 152 9/2/2025
6.0.523 158 9/2/2025
6.0.522 207 8/28/2025
6.0.521 210 8/27/2025
6.0.520 210 8/27/2025
6.0.519 220 8/27/2025
6.0.518 214 8/27/2025
6.0.517 185 8/25/2025
6.0.516 300 8/25/2025
6.0.515 225 8/24/2025
6.0.514 154 8/21/2025
6.0.513 154 8/20/2025
6.0.512 164 8/20/2025
6.0.511 156 8/20/2025
6.0.510 158 8/18/2025
6.0.509 147 8/18/2025
6.0.508 172 8/13/2025
6.0.506 161 8/13/2025
6.0.505 161 8/13/2025
6.0.504 170 8/13/2025
6.0.503 164 8/13/2025
6.0.502 159 8/12/2025
6.0.501 158 8/12/2025
6.0.500 163 8/12/2025
6.0.499 173 8/12/2025
6.0.498 158 8/11/2025
6.0.497 195 8/8/2025
6.0.496 202 8/8/2025
6.0.495 199 8/8/2025
6.0.494 225 8/8/2025
6.0.493 234 8/7/2025
6.0.492 245 8/7/2025
6.0.491 232 8/7/2025
6.0.490 198 8/7/2025
6.0.489 203 8/5/2025
6.0.488 203 8/5/2025
6.0.487 69 8/1/2025
6.0.486 102 7/30/2025
6.0.485 118 7/28/2025
6.0.484 115 7/28/2025
6.0.483 117 7/28/2025
6.0.482 114 7/28/2025
6.0.481 118 7/28/2025
6.0.480 378 7/25/2025
6.0.479 401 7/25/2025
6.0.478 399 7/25/2025
6.0.477 410 7/25/2025
6.0.476 416 7/25/2025
6.0.475 468 7/24/2025
6.0.474 467 7/24/2025
6.0.473 514 7/23/2025
6.0.472 512 7/23/2025
6.0.470 515 7/23/2025
6.0.469 510 7/23/2025
6.0.468 514 7/23/2025
6.0.467 512 7/23/2025
6.0.466 518 7/23/2025
6.0.465 510 7/23/2025
6.0.464 513 7/23/2025
6.0.463 514 7/23/2025
6.0.462 508 7/22/2025
6.0.461 506 7/22/2025
6.0.460 395 7/21/2025
6.0.459 73 7/18/2025
6.0.458 85 7/18/2025
6.0.457 117 7/17/2025
6.0.456 118 7/17/2025
6.0.455 118 7/17/2025