Reo.Core.Application.Abstractions.MediatorGenerator 8.0.573

dotnet add package Reo.Core.Application.Abstractions.MediatorGenerator --version 8.0.573
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 8.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.Application.Abstractions.MediatorGenerator" Version="8.0.573" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reo.Core.Application.Abstractions.MediatorGenerator" Version="8.0.573" />
                    
Directory.Packages.props
<PackageReference Include="Reo.Core.Application.Abstractions.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.Application.Abstractions.MediatorGenerator --version 8.0.573
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 8.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.Application.Abstractions.MediatorGenerator@8.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.Application.Abstractions.MediatorGenerator&version=8.0.573
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=8.0.573
                    
Install as a Cake Tool

Reo.Core.Application.Abstractions.MediatorGenerator

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

Пакет Reo.Core.Application.Abstractions.MediatorGenerator предоставляет абстракции и утилиты для построения прикладных сервисов, которые обрабатывают запросы и выполняют команды домена. Он помогает структурировать приложение, разделяя логику приложения и домена, и обеспечивает централизованное управление командами через паттерн MediatR (или аналогичные подходы).

Решаемые проблемы:

  • Упрощение реализации сервисов приложения, которые взаимодействуют с доменными объектами.
  • Централизованное выполнение команд и обработка запросов.
  • Поддержка инъекции зависимостей и модульного расширения функционала.

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

1. IReoApplicationService<TDomainCommandsExecutor, TQuery>

Интерфейс, определяющий контракт для сервиса приложения. Каждый сервис должен реализовывать метод ExecuteAsync, который обрабатывает запрос и возвращает исполнителя доменных команд.

2. ReoApplicationService<TDomainCommandsExecutor, TQuery>

Базовый класс, реализующий IReoApplicationService. Обеспечивает стандартную логику выполнения команд, логирование и инъекцию зависимостей.

3. ServiceCollectionExtensions

Класс с методами расширения для регистрации сервисов приложения в контейнере DI (Dependency Injection). Используется для автоматической регистрации всех типов, реализующих IReoApplicationService.


Требования


Установка

NuGet Package Manager

Install-Package Reo.Core.Application.Abstractions.MediatorGenerator

.NET CLI

dotnet add package Reo.Core.Application.Abstractions.MediatorGenerator

Настройка

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

Добавьте сервисы в Startup.cs или Program.cs:

services.AddReoApplicationServices<YourAssembly>();

Замените YourAssembly на сборку, содержащую реализации IReoApplicationService.

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

N/A — в данном пакете не требуется настройка через конфигурационные файлы.


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

Пример 1: Реализация сервиса приложения

public class SampleApplicationService : ReoApplicationService<SampleCommandExecutor, SampleQuery>
{
    public SampleApplicationService(IServiceProvider serviceProvider) : base(serviceProvider)
    {
    }

    protected override async Task<SampleCommandExecutor> ExecuteCoreAsync(SampleQuery query, CancellationToken cancellationToken)
    {
        // Обработка запроса и выполнение команд
        var result = await new SampleCommandExecutor().ExecuteAsync(query, cancellationToken);
        return result;
    }
}

Пример 2: Регистрация сервиса в DI

public void ConfigureServices(IServiceCollection services)
{
    services.AddReoApplicationServices<YourProject.Assembly>();
}

Пример 3: Использование сервиса в контроллере

[ApiController]
[Route("api/[controller]")]
public class SampleController : ControllerBase
{
    private readonly IReoApplicationService<SampleCommandExecutor, SampleQuery> _service;

    public SampleController(IReoApplicationService<SampleCommandExecutor, SampleQuery> service)
    {
        _service = service;
    }

    [HttpPost]
    public async Task<IActionResult> ProcessQuery([FromBody] SampleQuery query)
    {
        var result = await _service.ExecuteAsync(query, CancellationToken.None);
        return Ok(result);
    }
}

Лицензия

Данный пакет распространяется под лицензией 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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.573 30 9/23/2025
8.0.572 25 9/23/2025
8.0.571 30 9/23/2025
8.0.570 31 9/23/2025
8.0.569 40 9/22/2025
8.0.568 41 9/22/2025
8.0.567 40 9/22/2025
8.0.566 42 9/21/2025
8.0.565 185 9/19/2025
8.0.564 187 9/19/2025
8.0.563 193 9/19/2025
8.0.562 195 9/19/2025
8.0.561 256 9/16/2025
8.0.560 259 9/16/2025
8.0.559 260 9/16/2025
8.0.558 261 9/16/2025
8.0.557 209 9/15/2025
8.0.556 209 9/15/2025
8.0.555 86 9/12/2025
8.0.554 130 9/11/2025
8.0.553 127 9/11/2025
8.0.552 130 9/11/2025
8.0.551 127 9/11/2025
8.0.550 127 9/11/2025
8.0.548 123 9/11/2025
8.0.547 129 9/11/2025
8.0.546 126 9/11/2025
8.0.545 125 9/11/2025
8.0.544 131 9/10/2025
8.0.543 131 9/10/2025
8.0.542 130 9/10/2025
8.0.541 134 9/10/2025
8.0.540 131 9/9/2025
8.0.539 128 9/9/2025
8.0.538 130 9/9/2025
8.0.537 128 9/9/2025
8.0.536 128 9/9/2025
8.0.535 128 9/9/2025
8.0.534 131 9/9/2025
8.0.533 127 9/9/2025
8.0.532 126 9/8/2025
8.0.531 108 9/5/2025
8.0.530 142 9/4/2025
8.0.529 131 9/4/2025
8.0.528 141 9/4/2025
8.0.527 140 9/4/2025
8.0.526 143 9/3/2025
8.0.525 121 9/2/2025
8.0.524 127 9/2/2025
8.0.523 126 9/2/2025
8.0.522 180 8/28/2025
8.0.521 175 8/27/2025
8.0.520 181 8/27/2025
8.0.519 179 8/27/2025
8.0.518 177 8/27/2025
8.0.517 150 8/25/2025
8.0.516 269 8/25/2025
8.0.515 199 8/24/2025
8.0.514 129 8/21/2025
8.0.513 132 8/20/2025
8.0.512 125 8/20/2025
8.0.511 132 8/20/2025
8.0.510 128 8/18/2025
8.0.509 126 8/18/2025
8.0.508 135 8/13/2025
8.0.506 133 8/13/2025
8.0.505 138 8/13/2025
8.0.504 143 8/13/2025
8.0.503 135 8/13/2025
8.0.502 132 8/12/2025
8.0.501 133 8/12/2025
8.0.500 130 8/12/2025
8.0.499 145 8/12/2025
8.0.498 127 8/11/2025
8.0.497 167 8/8/2025
8.0.496 170 8/8/2025
8.0.495 173 8/8/2025
8.0.494 199 8/8/2025
8.0.493 210 8/7/2025
8.0.492 206 8/7/2025
8.0.491 210 8/7/2025
8.0.490 197 8/7/2025
8.0.489 201 8/5/2025
8.0.488 205 8/5/2025
8.0.487 79 8/1/2025
8.0.486 100 7/30/2025
8.0.485 105 7/28/2025
8.0.484 96 7/28/2025
8.0.483 103 7/28/2025
8.0.482 97 7/28/2025
8.0.481 97 7/28/2025
8.0.480 367 7/25/2025
8.0.479 394 7/25/2025
8.0.478 396 7/25/2025
8.0.477 405 7/25/2025
8.0.476 408 7/25/2025
8.0.475 466 7/24/2025
8.0.474 463 7/24/2025
8.0.473 515 7/23/2025
8.0.472 515 7/23/2025
8.0.470 513 7/23/2025
8.0.469 516 7/23/2025
8.0.468 513 7/23/2025
8.0.467 514 7/23/2025
8.0.466 515 7/23/2025
8.0.465 514 7/23/2025
8.0.464 513 7/23/2025
8.0.463 511 7/23/2025
8.0.462 514 7/22/2025
8.0.461 505 7/22/2025
8.0.460 399 7/21/2025
8.0.459 74 7/18/2025
8.0.458 86 7/18/2025
8.0.457 122 7/17/2025
8.0.456 124 7/17/2025
8.0.455 114 7/17/2025
8.0.454 118 7/17/2025
8.0.453 116 7/17/2025
8.0.452 116 7/17/2025
8.0.451 117 7/17/2025
8.0.450 115 7/17/2025
8.0.449 119 7/17/2025
8.0.448 117 7/17/2025
8.0.447 116 7/16/2025
8.0.446 119 7/16/2025
8.0.445 121 7/16/2025
8.0.444 123 7/16/2025
8.0.443 117 7/16/2025
8.0.442 118 7/16/2025
8.0.439 121 7/15/2025
8.0.438 119 7/15/2025
8.0.437 118 7/15/2025
8.0.436 118 7/15/2025
8.0.435 119 7/15/2025
8.0.433 123 7/14/2025
8.0.432 118 7/14/2025
8.0.431 106 7/11/2025
8.0.430 108 7/11/2025
8.0.429 125 7/10/2025
8.0.428 122 7/10/2025
8.0.427 122 7/9/2025
8.0.426 124 7/8/2025
8.0.425 128 7/8/2025
8.0.424 125 7/8/2025
8.0.423 119 7/8/2025
8.0.422 124 7/8/2025
8.0.421 125 7/8/2025
8.0.420 121 7/7/2025
8.0.419 124 7/7/2025
8.0.418 122 7/7/2025
8.0.417 119 7/7/2025
8.0.416 120 7/6/2025
8.0.415 88 7/4/2025
8.0.414 91 7/4/2025
8.0.411 128 7/3/2025
8.0.410 123 7/3/2025
8.0.409 124 7/3/2025
8.0.408 121 7/1/2025
8.0.407 125 7/1/2025
8.0.406 122 7/1/2025
8.0.405 123 7/1/2025
8.0.404 179 6/26/2025
8.0.403 117 6/26/2025
8.0.401 140 6/24/2025
8.0.400 122 6/24/2025
8.0.399 122 6/23/2025
8.0.398 124 6/23/2025
8.0.397 81 6/20/2025
8.0.396 126 6/19/2025
8.0.395 129 6/18/2025
8.0.394 127 6/18/2025
8.0.392 131 6/18/2025
8.0.390 133 6/18/2025
6.0.573 30 9/23/2025
6.0.572 29 9/23/2025
6.0.571 28 9/23/2025
6.0.570 28 9/23/2025
6.0.569 35 9/22/2025
6.0.568 36 9/22/2025
6.0.567 38 9/22/2025
6.0.566 39 9/21/2025
6.0.565 181 9/19/2025
6.0.564 184 9/19/2025
6.0.563 188 9/19/2025
6.0.562 193 9/19/2025
6.0.561 252 9/16/2025
6.0.560 258 9/16/2025
6.0.559 257 9/16/2025
6.0.558 257 9/16/2025
6.0.557 202 9/15/2025
6.0.556 205 9/15/2025
6.0.555 79 9/12/2025
6.0.554 126 9/11/2025
6.0.553 125 9/11/2025
6.0.552 125 9/11/2025
6.0.551 123 9/11/2025
6.0.550 128 9/11/2025
6.0.548 124 9/11/2025
6.0.547 126 9/11/2025
6.0.546 125 9/11/2025
6.0.545 124 9/11/2025
6.0.544 125 9/10/2025
6.0.543 131 9/10/2025
6.0.542 129 9/10/2025
6.0.541 130 9/10/2025
6.0.540 125 9/9/2025
6.0.539 124 9/9/2025
6.0.538 125 9/9/2025
6.0.537 128 9/9/2025
6.0.536 127 9/9/2025
6.0.535 128 9/9/2025
6.0.534 126 9/9/2025
6.0.533 129 9/9/2025
6.0.532 129 9/8/2025
6.0.531 102 9/5/2025
6.0.530 135 9/4/2025
6.0.529 137 9/4/2025
6.0.528 136 9/4/2025
6.0.527 139 9/4/2025
6.0.526 137 9/3/2025
6.0.525 120 9/2/2025
6.0.524 125 9/2/2025
6.0.523 125 9/2/2025
6.0.522 177 8/28/2025
6.0.521 174 8/27/2025
6.0.520 173 8/27/2025
6.0.519 176 8/27/2025
6.0.518 177 8/27/2025
6.0.517 145 8/25/2025
6.0.516 264 8/25/2025
6.0.515 199 8/24/2025
6.0.514 125 8/21/2025
6.0.513 126 8/20/2025
6.0.512 124 8/20/2025
6.0.511 127 8/20/2025
6.0.510 124 8/18/2025
6.0.509 125 8/18/2025
6.0.508 133 8/13/2025
6.0.506 130 8/13/2025
6.0.505 130 8/13/2025
6.0.504 132 8/13/2025
6.0.503 131 8/13/2025
6.0.502 129 8/12/2025
6.0.501 130 8/12/2025
6.0.500 130 8/12/2025
6.0.499 135 8/12/2025
6.0.498 124 8/11/2025
6.0.497 166 8/8/2025
6.0.496 170 8/8/2025
6.0.495 173 8/8/2025
6.0.494 194 8/8/2025
6.0.493 209 8/7/2025
6.0.492 206 8/7/2025
6.0.491 203 8/7/2025
6.0.490 198 8/7/2025
6.0.489 201 8/5/2025
6.0.488 203 8/5/2025
6.0.487 67 8/1/2025
6.0.486 103 7/30/2025
6.0.485 95 7/28/2025
6.0.484 96 7/28/2025
6.0.483 100 7/28/2025
6.0.482 96 7/28/2025
6.0.481 97 7/28/2025
6.0.480 368 7/25/2025
6.0.479 394 7/25/2025
6.0.478 396 7/25/2025
6.0.477 405 7/25/2025
6.0.476 411 7/25/2025
6.0.475 467 7/24/2025
6.0.474 464 7/24/2025
6.0.473 513 7/23/2025
6.0.472 514 7/23/2025
6.0.470 513 7/23/2025
6.0.469 512 7/23/2025
6.0.468 511 7/23/2025
6.0.467 514 7/23/2025
6.0.466 515 7/23/2025
6.0.465 510 7/23/2025
6.0.464 511 7/23/2025
6.0.463 512 7/23/2025
6.0.462 504 7/22/2025
6.0.461 506 7/22/2025
6.0.460 393 7/21/2025
6.0.459 70 7/18/2025
6.0.458 86 7/18/2025
6.0.457 116 7/17/2025
6.0.456 114 7/17/2025
6.0.455 115 7/17/2025