Reo.Core.Application.Abstractions.MediatorGenerator 8.0.546

There is a newer version of this package available.
See the version list below for details.
dotnet add package Reo.Core.Application.Abstractions.MediatorGenerator --version 8.0.546
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 8.0.546
                    
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.546" />
                    
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.546" />
                    
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.546
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 8.0.546"
                    
#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.546
                    
#: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.546
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=8.0.546
                    
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 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

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.561 38 9/16/2025
8.0.560 41 9/16/2025
8.0.559 42 9/16/2025
8.0.558 44 9/16/2025
8.0.557 51 9/15/2025
8.0.556 51 9/15/2025
8.0.555 85 9/12/2025
8.0.554 129 9/11/2025
8.0.553 126 9/11/2025
8.0.552 129 9/11/2025
8.0.551 126 9/11/2025
8.0.550 126 9/11/2025
8.0.548 122 9/11/2025
8.0.547 128 9/11/2025
8.0.546 125 9/11/2025
8.0.545 124 9/11/2025
8.0.544 129 9/10/2025
8.0.543 129 9/10/2025
8.0.542 128 9/10/2025
8.0.541 132 9/10/2025
8.0.540 129 9/9/2025
8.0.539 126 9/9/2025
8.0.538 128 9/9/2025
8.0.537 125 9/9/2025
8.0.536 127 9/9/2025
8.0.535 126 9/9/2025
8.0.534 129 9/9/2025
8.0.533 125 9/9/2025
8.0.532 124 9/8/2025
8.0.531 107 9/5/2025
8.0.530 141 9/4/2025
8.0.529 129 9/4/2025
8.0.528 139 9/4/2025
8.0.527 138 9/4/2025
8.0.526 142 9/3/2025
8.0.525 120 9/2/2025
8.0.524 126 9/2/2025
8.0.523 125 9/2/2025
8.0.522 179 8/28/2025
8.0.521 174 8/27/2025
8.0.520 180 8/27/2025
8.0.519 178 8/27/2025
8.0.518 176 8/27/2025
8.0.517 149 8/25/2025
8.0.516 268 8/25/2025
8.0.515 198 8/24/2025
8.0.514 128 8/21/2025
8.0.513 131 8/20/2025
8.0.512 124 8/20/2025
8.0.511 131 8/20/2025
8.0.510 127 8/18/2025
8.0.509 125 8/18/2025
8.0.508 134 8/13/2025
8.0.506 132 8/13/2025
8.0.505 137 8/13/2025
8.0.504 142 8/13/2025
8.0.503 134 8/13/2025
8.0.502 131 8/12/2025
8.0.501 132 8/12/2025
8.0.500 129 8/12/2025
8.0.499 144 8/12/2025
8.0.498 126 8/11/2025
8.0.497 166 8/8/2025
8.0.496 169 8/8/2025
8.0.495 172 8/8/2025
8.0.494 198 8/8/2025
8.0.493 209 8/7/2025
8.0.492 205 8/7/2025
8.0.491 209 8/7/2025
8.0.490 196 8/7/2025
8.0.489 200 8/5/2025
8.0.488 204 8/5/2025
8.0.487 78 8/1/2025
8.0.486 99 7/30/2025
8.0.485 104 7/28/2025
8.0.484 95 7/28/2025
8.0.483 102 7/28/2025
8.0.482 96 7/28/2025
8.0.481 96 7/28/2025
8.0.480 354 7/25/2025
8.0.479 379 7/25/2025
8.0.478 379 7/25/2025
8.0.477 390 7/25/2025
8.0.476 393 7/25/2025
8.0.475 443 7/24/2025
8.0.474 444 7/24/2025
8.0.473 514 7/23/2025
8.0.472 514 7/23/2025
8.0.470 512 7/23/2025
8.0.469 515 7/23/2025
8.0.468 512 7/23/2025
8.0.467 513 7/23/2025
8.0.466 514 7/23/2025
8.0.465 513 7/23/2025
8.0.464 512 7/23/2025
8.0.463 510 7/23/2025
8.0.462 513 7/22/2025
8.0.461 504 7/22/2025
8.0.460 397 7/21/2025
8.0.459 73 7/18/2025
8.0.458 85 7/18/2025
8.0.457 121 7/17/2025
8.0.456 123 7/17/2025
8.0.455 113 7/17/2025
8.0.454 117 7/17/2025
8.0.453 115 7/17/2025
8.0.452 115 7/17/2025
8.0.451 116 7/17/2025
8.0.450 114 7/17/2025
8.0.449 118 7/17/2025
8.0.448 116 7/17/2025
8.0.447 115 7/16/2025
8.0.446 118 7/16/2025
8.0.445 120 7/16/2025
8.0.444 122 7/16/2025
8.0.443 116 7/16/2025
8.0.442 117 7/16/2025
8.0.439 119 7/15/2025
8.0.438 118 7/15/2025
8.0.437 116 7/15/2025
8.0.436 116 7/15/2025
8.0.435 117 7/15/2025
8.0.433 122 7/14/2025
8.0.432 117 7/14/2025
8.0.431 105 7/11/2025
8.0.430 107 7/11/2025
8.0.429 124 7/10/2025
8.0.428 121 7/10/2025
8.0.427 121 7/9/2025
8.0.426 123 7/8/2025
8.0.425 127 7/8/2025
8.0.424 124 7/8/2025
8.0.423 118 7/8/2025
8.0.422 123 7/8/2025
8.0.421 124 7/8/2025
8.0.420 120 7/7/2025
8.0.419 123 7/7/2025
8.0.418 121 7/7/2025
8.0.417 118 7/7/2025
8.0.416 119 7/6/2025
8.0.415 87 7/4/2025
8.0.414 90 7/4/2025
8.0.411 127 7/3/2025
8.0.410 122 7/3/2025
8.0.409 122 7/3/2025
8.0.408 120 7/1/2025
8.0.407 124 7/1/2025
8.0.406 121 7/1/2025
8.0.405 122 7/1/2025
8.0.404 172 6/26/2025
8.0.403 116 6/26/2025
8.0.401 139 6/24/2025
8.0.400 121 6/24/2025
8.0.399 121 6/23/2025
8.0.398 123 6/23/2025
8.0.397 80 6/20/2025
8.0.396 125 6/19/2025
8.0.395 128 6/18/2025
8.0.394 126 6/18/2025
8.0.392 130 6/18/2025
8.0.390 132 6/18/2025
6.0.561 34 9/16/2025
6.0.560 40 9/16/2025
6.0.559 39 9/16/2025
6.0.558 40 9/16/2025
6.0.557 44 9/15/2025
6.0.556 47 9/15/2025
6.0.555 78 9/12/2025
6.0.554 125 9/11/2025
6.0.553 124 9/11/2025
6.0.552 124 9/11/2025
6.0.551 122 9/11/2025
6.0.550 127 9/11/2025
6.0.548 123 9/11/2025
6.0.547 125 9/11/2025
6.0.546 124 9/11/2025
6.0.545 123 9/11/2025
6.0.544 124 9/10/2025
6.0.543 129 9/10/2025
6.0.542 127 9/10/2025
6.0.541 128 9/10/2025
6.0.540 123 9/9/2025
6.0.539 122 9/9/2025
6.0.538 123 9/9/2025
6.0.537 126 9/9/2025
6.0.536 125 9/9/2025
6.0.535 126 9/9/2025
6.0.534 124 9/9/2025
6.0.533 127 9/9/2025
6.0.532 127 9/8/2025
6.0.531 100 9/5/2025
6.0.530 134 9/4/2025
6.0.529 135 9/4/2025
6.0.528 134 9/4/2025
6.0.527 137 9/4/2025
6.0.526 136 9/3/2025
6.0.525 119 9/2/2025
6.0.524 124 9/2/2025
6.0.523 124 9/2/2025
6.0.522 176 8/28/2025
6.0.521 173 8/27/2025
6.0.520 172 8/27/2025
6.0.519 175 8/27/2025
6.0.518 176 8/27/2025
6.0.517 144 8/25/2025
6.0.516 263 8/25/2025
6.0.515 198 8/24/2025
6.0.514 124 8/21/2025
6.0.513 125 8/20/2025
6.0.512 123 8/20/2025
6.0.511 126 8/20/2025
6.0.510 123 8/18/2025
6.0.509 124 8/18/2025
6.0.508 132 8/13/2025
6.0.506 129 8/13/2025
6.0.505 129 8/13/2025
6.0.504 131 8/13/2025
6.0.503 130 8/13/2025
6.0.502 128 8/12/2025
6.0.501 129 8/12/2025
6.0.500 129 8/12/2025
6.0.499 134 8/12/2025
6.0.498 123 8/11/2025
6.0.497 165 8/8/2025
6.0.496 169 8/8/2025
6.0.495 172 8/8/2025
6.0.494 193 8/8/2025
6.0.493 208 8/7/2025
6.0.492 205 8/7/2025
6.0.491 202 8/7/2025
6.0.490 197 8/7/2025
6.0.489 200 8/5/2025
6.0.488 202 8/5/2025
6.0.487 66 8/1/2025
6.0.486 102 7/30/2025
6.0.485 94 7/28/2025
6.0.484 95 7/28/2025
6.0.483 99 7/28/2025
6.0.482 95 7/28/2025
6.0.481 96 7/28/2025
6.0.480 353 7/25/2025
6.0.479 378 7/25/2025
6.0.478 379 7/25/2025
6.0.477 389 7/25/2025
6.0.476 394 7/25/2025
6.0.475 445 7/24/2025
6.0.474 444 7/24/2025
6.0.473 512 7/23/2025
6.0.472 513 7/23/2025
6.0.470 512 7/23/2025
6.0.469 511 7/23/2025
6.0.468 510 7/23/2025
6.0.467 512 7/23/2025
6.0.466 514 7/23/2025
6.0.465 509 7/23/2025
6.0.464 511 7/23/2025
6.0.463 511 7/23/2025
6.0.462 503 7/22/2025
6.0.461 505 7/22/2025
6.0.460 392 7/21/2025
6.0.459 69 7/18/2025
6.0.458 85 7/18/2025
6.0.457 115 7/17/2025
6.0.456 113 7/17/2025
6.0.455 113 7/17/2025