Reo.Core.BaseDomainModels.MediatorGenerator 6.0.497

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.497
                    
NuGet\Install-Package Reo.Core.BaseDomainModels.MediatorGenerator -Version 6.0.497
                    
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.497" />
                    
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.497" />
                    
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.497
                    
#r "nuget: Reo.Core.BaseDomainModels.MediatorGenerator, 6.0.497"
                    
#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.497
                    
#: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.497
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.BaseDomainModels.MediatorGenerator&version=6.0.497
                    
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.657 0 10/30/2025
8.0.656 0 10/30/2025
8.0.655 33 10/29/2025
8.0.654 36 10/29/2025
8.0.653 39 10/28/2025
8.0.652 34 10/28/2025
8.0.651 39 10/28/2025
8.0.650 78 10/27/2025
8.0.649 79 10/27/2025
8.0.648 110 10/24/2025
8.0.647 121 10/24/2025
8.0.646 128 10/24/2025
8.0.645 127 10/24/2025
8.0.644 173 10/23/2025
8.0.643 166 10/23/2025
8.0.642 169 10/23/2025
8.0.641 168 10/22/2025
8.0.640 166 10/22/2025
8.0.639 167 10/22/2025
8.0.638 170 10/22/2025
8.0.637 165 10/21/2025
8.0.636 172 10/21/2025
8.0.635 173 10/21/2025
8.0.634 171 10/20/2025
8.0.633 177 10/20/2025
8.0.632 173 10/20/2025
8.0.631 174 10/20/2025
8.0.630 124 10/17/2025
8.0.629 179 10/13/2025
8.0.628 177 10/13/2025
8.0.627 177 10/13/2025
8.0.626 102 10/10/2025
8.0.625 105 10/10/2025
8.0.624 126 10/10/2025
8.0.623 133 10/10/2025
8.0.622 176 10/9/2025
8.0.621 167 10/9/2025
8.0.620 173 10/9/2025
8.0.619 169 10/9/2025
8.0.618 171 10/9/2025
8.0.617 167 10/9/2025
8.0.616 166 10/9/2025
8.0.615 175 10/9/2025
8.0.614 168 10/8/2025
8.0.613 176 10/8/2025
8.0.612 179 10/6/2025
8.0.611 141 10/3/2025
8.0.610 139 10/3/2025
8.0.609 127 10/3/2025
8.0.608 128 10/3/2025
8.0.607 143 10/3/2025
8.0.606 137 10/3/2025
8.0.605 140 10/3/2025
8.0.604 146 10/3/2025
8.0.603 137 10/3/2025
8.0.602 176 10/2/2025
8.0.600 168 10/2/2025
8.0.599 169 10/2/2025
8.0.598 168 10/1/2025
8.0.597 173 10/1/2025
8.0.596 177 10/1/2025
8.0.595 177 9/30/2025
8.0.594 174 9/30/2025
8.0.593 180 9/30/2025
8.0.592 179 9/30/2025
8.0.591 176 9/30/2025
8.0.589 177 9/29/2025
8.0.588 179 9/29/2025
8.0.587 166 9/29/2025
8.0.586 163 9/29/2025
8.0.585 180 9/29/2025
8.0.583 141 9/26/2025
8.0.582 163 9/26/2025
8.0.580 179 9/25/2025
8.0.579 183 9/25/2025
8.0.578 170 9/25/2025
8.0.577 178 9/25/2025
8.0.576 181 9/25/2025
8.0.575 177 9/25/2025
8.0.574 189 9/24/2025
8.0.573 175 9/23/2025
8.0.572 189 9/23/2025
8.0.571 185 9/23/2025
8.0.570 182 9/23/2025
8.0.569 191 9/22/2025
8.0.568 232 9/22/2025
8.0.567 233 9/22/2025
8.0.566 203 9/21/2025
8.0.565 248 9/19/2025
8.0.564 236 9/19/2025
8.0.563 241 9/19/2025
8.0.562 258 9/19/2025
8.0.561 310 9/16/2025
8.0.560 306 9/16/2025
8.0.559 304 9/16/2025
8.0.558 301 9/16/2025
8.0.557 250 9/15/2025
8.0.556 262 9/15/2025
8.0.555 133 9/12/2025
8.0.554 172 9/11/2025
8.0.553 180 9/11/2025
8.0.552 172 9/11/2025
8.0.551 171 9/11/2025
8.0.550 175 9/11/2025
8.0.548 180 9/11/2025
8.0.547 178 9/11/2025
8.0.546 174 9/11/2025
8.0.545 175 9/11/2025
8.0.544 174 9/10/2025
8.0.543 176 9/10/2025
8.0.542 182 9/10/2025
8.0.541 176 9/10/2025
8.0.540 161 9/9/2025
8.0.539 171 9/9/2025
8.0.538 170 9/9/2025
8.0.537 179 9/9/2025
8.0.536 181 9/9/2025
8.0.535 178 9/9/2025
8.0.534 172 9/9/2025
8.0.533 176 9/9/2025
8.0.532 175 9/8/2025
8.0.531 147 9/5/2025
8.0.530 189 9/4/2025
8.0.529 178 9/4/2025
8.0.528 184 9/4/2025
8.0.527 181 9/4/2025
8.0.526 193 9/3/2025
8.0.525 169 9/2/2025
8.0.524 170 9/2/2025
8.0.523 172 9/2/2025
8.0.522 220 8/28/2025
8.0.521 219 8/27/2025
8.0.520 224 8/27/2025
8.0.519 231 8/27/2025
8.0.518 227 8/27/2025
8.0.517 190 8/25/2025
8.0.516 324 8/25/2025
8.0.515 239 8/24/2025
8.0.514 170 8/21/2025
8.0.513 177 8/20/2025
8.0.512 164 8/20/2025
8.0.511 167 8/20/2025
8.0.510 165 8/18/2025
8.0.509 178 8/18/2025
8.0.508 178 8/13/2025
8.0.506 177 8/13/2025
8.0.505 178 8/13/2025
8.0.504 175 8/13/2025
8.0.503 177 8/13/2025
8.0.502 176 8/12/2025
8.0.501 172 8/12/2025
8.0.500 173 8/12/2025
8.0.499 177 8/12/2025
8.0.498 175 8/11/2025
8.0.497 206 8/8/2025
8.0.496 211 8/8/2025
8.0.495 215 8/8/2025
8.0.494 242 8/8/2025
8.0.493 250 8/7/2025
8.0.492 246 8/7/2025
8.0.491 246 8/7/2025
8.0.490 199 8/7/2025
8.0.489 210 8/5/2025
8.0.488 210 8/5/2025
8.0.487 74 8/1/2025
8.0.486 102 7/30/2025
8.0.485 127 7/28/2025
8.0.484 113 7/28/2025
8.0.483 114 7/28/2025
8.0.482 117 7/28/2025
8.0.481 116 7/28/2025
8.0.480 377 7/25/2025
8.0.479 408 7/25/2025
8.0.478 402 7/25/2025
8.0.477 413 7/25/2025
8.0.476 418 7/25/2025
8.0.475 471 7/24/2025
8.0.474 467 7/24/2025
8.0.473 516 7/23/2025
8.0.472 522 7/23/2025
8.0.470 519 7/23/2025
8.0.469 515 7/23/2025
8.0.468 515 7/23/2025
8.0.467 513 7/23/2025
8.0.466 522 7/23/2025
8.0.465 515 7/23/2025
8.0.464 513 7/23/2025
8.0.463 516 7/23/2025
8.0.462 515 7/22/2025
8.0.461 510 7/22/2025
8.0.460 399 7/21/2025
8.0.459 79 7/18/2025
8.0.458 90 7/18/2025
8.0.457 121 7/17/2025
8.0.456 121 7/17/2025
8.0.455 120 7/17/2025
8.0.454 118 7/17/2025
8.0.453 118 7/17/2025
8.0.452 123 7/17/2025
8.0.451 119 7/17/2025
8.0.450 115 7/17/2025
8.0.449 123 7/17/2025
8.0.448 126 7/17/2025
8.0.447 122 7/16/2025
8.0.446 123 7/16/2025
8.0.445 125 7/16/2025
8.0.444 125 7/16/2025
8.0.443 122 7/16/2025
8.0.442 123 7/16/2025
8.0.439 123 7/15/2025
8.0.438 125 7/15/2025
8.0.437 124 7/15/2025
8.0.436 121 7/15/2025
8.0.435 126 7/15/2025
8.0.433 125 7/14/2025
8.0.432 127 7/14/2025
8.0.431 103 7/11/2025
8.0.430 114 7/11/2025
8.0.429 127 7/10/2025
8.0.428 126 7/10/2025
8.0.427 135 7/9/2025
8.0.426 126 7/8/2025
8.0.425 127 7/8/2025
8.0.424 128 7/8/2025
8.0.423 124 7/8/2025
8.0.422 120 7/8/2025
8.0.421 127 7/8/2025
8.0.420 124 7/7/2025
8.0.419 125 7/7/2025
8.0.418 123 7/7/2025
8.0.417 130 7/7/2025
8.0.416 125 7/6/2025
8.0.415 90 7/4/2025
8.0.414 99 7/4/2025
8.0.411 132 7/3/2025
8.0.410 127 7/3/2025
8.0.409 126 7/3/2025
8.0.408 127 7/1/2025
8.0.407 124 7/1/2025
8.0.406 126 7/1/2025
8.0.405 131 7/1/2025
8.0.404 236 6/26/2025
8.0.403 124 6/26/2025
8.0.401 138 6/24/2025
8.0.400 127 6/24/2025
8.0.399 128 6/23/2025
8.0.398 129 6/23/2025
8.0.397 85 6/20/2025
8.0.396 129 6/19/2025
8.0.395 132 6/18/2025
8.0.394 134 6/18/2025
8.0.392 134 6/18/2025
8.0.390 307 6/18/2025
6.0.657 0 10/30/2025
6.0.656 0 10/30/2025
6.0.655 28 10/29/2025
6.0.654 34 10/29/2025
6.0.653 40 10/28/2025
6.0.652 31 10/28/2025
6.0.651 32 10/28/2025
6.0.650 77 10/27/2025
6.0.649 82 10/27/2025
6.0.648 105 10/24/2025
6.0.647 116 10/24/2025
6.0.646 128 10/24/2025
6.0.645 122 10/24/2025
6.0.644 167 10/23/2025
6.0.643 170 10/23/2025
6.0.642 172 10/23/2025
6.0.641 163 10/22/2025
6.0.640 171 10/22/2025
6.0.639 167 10/22/2025
6.0.638 167 10/22/2025
6.0.637 159 10/21/2025
6.0.636 166 10/21/2025
6.0.635 167 10/21/2025
6.0.634 173 10/20/2025
6.0.633 169 10/20/2025
6.0.632 179 10/20/2025
6.0.631 171 10/20/2025
6.0.630 136 10/17/2025
6.0.629 172 10/13/2025
6.0.628 167 10/13/2025
6.0.627 170 10/13/2025
6.0.626 100 10/10/2025
6.0.625 105 10/10/2025
6.0.624 121 10/10/2025
6.0.623 130 10/10/2025
6.0.622 174 10/9/2025
6.0.621 168 10/9/2025
6.0.620 172 10/9/2025
6.0.619 167 10/9/2025
6.0.618 169 10/9/2025
6.0.617 165 10/9/2025
6.0.616 170 10/9/2025
6.0.615 169 10/9/2025
6.0.614 173 10/8/2025
6.0.613 165 10/8/2025
6.0.612 173 10/6/2025
6.0.611 154 10/3/2025
6.0.610 134 10/3/2025
6.0.609 132 10/3/2025
6.0.608 134 10/3/2025
6.0.607 136 10/3/2025
6.0.606 146 10/3/2025
6.0.605 139 10/3/2025
6.0.604 152 10/3/2025
6.0.603 147 10/3/2025
6.0.602 170 10/2/2025
6.0.600 178 10/2/2025
6.0.599 178 10/2/2025
6.0.598 180 10/1/2025
6.0.597 173 10/1/2025
6.0.596 173 10/1/2025
6.0.595 177 9/30/2025
6.0.594 173 9/30/2025
6.0.593 171 9/30/2025
6.0.592 172 9/30/2025
6.0.591 175 9/30/2025
6.0.589 175 9/29/2025
6.0.588 179 9/29/2025
6.0.587 174 9/29/2025
6.0.586 170 9/29/2025
6.0.585 174 9/29/2025
6.0.583 136 9/26/2025
6.0.582 171 9/26/2025
6.0.580 174 9/25/2025
6.0.579 179 9/25/2025
6.0.578 176 9/25/2025
6.0.577 179 9/25/2025
6.0.576 179 9/25/2025
6.0.575 180 9/25/2025
6.0.574 183 9/24/2025
6.0.573 183 9/23/2025
6.0.572 176 9/23/2025
6.0.571 174 9/23/2025
6.0.570 185 9/23/2025
6.0.569 196 9/22/2025
6.0.568 216 9/22/2025
6.0.567 238 9/22/2025
6.0.566 191 9/21/2025
6.0.565 246 9/19/2025
6.0.564 233 9/19/2025
6.0.563 248 9/19/2025
6.0.562 243 9/19/2025
6.0.561 307 9/16/2025
6.0.560 304 9/16/2025
6.0.559 302 9/16/2025
6.0.558 307 9/16/2025
6.0.557 248 9/15/2025
6.0.556 254 9/15/2025
6.0.555 129 9/12/2025
6.0.554 176 9/11/2025
6.0.553 177 9/11/2025
6.0.552 176 9/11/2025
6.0.551 179 9/11/2025
6.0.550 170 9/11/2025
6.0.548 172 9/11/2025
6.0.547 175 9/11/2025
6.0.546 176 9/11/2025
6.0.545 160 9/11/2025
6.0.544 173 9/10/2025
6.0.543 168 9/10/2025
6.0.542 180 9/10/2025
6.0.541 170 9/10/2025
6.0.540 167 9/9/2025
6.0.539 167 9/9/2025
6.0.538 157 9/9/2025
6.0.537 169 9/9/2025
6.0.536 171 9/9/2025
6.0.535 165 9/9/2025
6.0.534 166 9/9/2025
6.0.533 165 9/9/2025
6.0.532 171 9/8/2025
6.0.531 143 9/5/2025
6.0.530 186 9/4/2025
6.0.529 177 9/4/2025
6.0.528 183 9/4/2025
6.0.527 181 9/4/2025
6.0.526 185 9/3/2025
6.0.525 178 9/2/2025
6.0.524 163 9/2/2025
6.0.523 169 9/2/2025
6.0.522 221 8/28/2025
6.0.521 221 8/27/2025
6.0.520 223 8/27/2025
6.0.519 232 8/27/2025
6.0.518 225 8/27/2025
6.0.517 196 8/25/2025
6.0.516 312 8/25/2025
6.0.515 238 8/24/2025
6.0.514 165 8/21/2025
6.0.513 166 8/20/2025
6.0.512 176 8/20/2025
6.0.511 168 8/20/2025
6.0.510 171 8/18/2025
6.0.509 169 8/18/2025
6.0.508 184 8/13/2025
6.0.506 172 8/13/2025
6.0.505 172 8/13/2025
6.0.504 181 8/13/2025
6.0.503 177 8/13/2025
6.0.502 173 8/12/2025
6.0.501 171 8/12/2025
6.0.500 174 8/12/2025
6.0.499 185 8/12/2025
6.0.498 169 8/11/2025
6.0.497 206 8/8/2025
6.0.496 214 8/8/2025
6.0.495 212 8/8/2025
6.0.494 237 8/8/2025
6.0.493 247 8/7/2025
6.0.492 258 8/7/2025
6.0.491 246 8/7/2025
6.0.490 200 8/7/2025
6.0.489 204 8/5/2025
6.0.488 205 8/5/2025
6.0.487 70 8/1/2025
6.0.486 103 7/30/2025
6.0.485 119 7/28/2025
6.0.484 117 7/28/2025
6.0.483 118 7/28/2025
6.0.482 117 7/28/2025
6.0.481 118 7/28/2025
6.0.480 380 7/25/2025
6.0.479 403 7/25/2025
6.0.478 400 7/25/2025
6.0.477 412 7/25/2025
6.0.476 417 7/25/2025
6.0.475 472 7/24/2025
6.0.474 468 7/24/2025
6.0.473 515 7/23/2025
6.0.472 513 7/23/2025
6.0.470 516 7/23/2025
6.0.469 511 7/23/2025
6.0.468 515 7/23/2025
6.0.467 513 7/23/2025
6.0.466 520 7/23/2025
6.0.465 511 7/23/2025
6.0.464 515 7/23/2025
6.0.463 515 7/23/2025
6.0.462 510 7/22/2025
6.0.461 507 7/22/2025
6.0.460 397 7/21/2025
6.0.459 74 7/18/2025
6.0.458 86 7/18/2025
6.0.457 118 7/17/2025
6.0.456 119 7/17/2025
6.0.455 120 7/17/2025