Reo.Core.Application.Abstractions.MediatorGenerator 8.0.451

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.451
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 8.0.451
                    
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.451" />
                    
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.451" />
                    
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.451
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 8.0.451"
                    
#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.451
                    
#: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.451
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=8.0.451
                    
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.555 61 9/12/2025
8.0.554 111 9/11/2025
8.0.553 108 9/11/2025
8.0.552 111 9/11/2025
8.0.551 111 9/11/2025
8.0.550 111 9/11/2025
8.0.548 107 9/11/2025
8.0.547 113 9/11/2025
8.0.546 110 9/11/2025
8.0.545 109 9/11/2025
8.0.544 123 9/10/2025
8.0.543 123 9/10/2025
8.0.542 122 9/10/2025
8.0.541 126 9/10/2025
8.0.540 123 9/9/2025
8.0.539 120 9/9/2025
8.0.538 122 9/9/2025
8.0.537 119 9/9/2025
8.0.536 121 9/9/2025
8.0.535 120 9/9/2025
8.0.534 123 9/9/2025
8.0.533 119 9/9/2025
8.0.532 123 9/8/2025
8.0.531 106 9/5/2025
8.0.530 140 9/4/2025
8.0.529 128 9/4/2025
8.0.528 138 9/4/2025
8.0.527 137 9/4/2025
8.0.526 141 9/3/2025
8.0.525 119 9/2/2025
8.0.524 125 9/2/2025
8.0.523 124 9/2/2025
8.0.522 178 8/28/2025
8.0.521 173 8/27/2025
8.0.520 179 8/27/2025
8.0.519 177 8/27/2025
8.0.518 175 8/27/2025
8.0.517 148 8/25/2025
8.0.516 267 8/25/2025
8.0.515 197 8/24/2025
8.0.514 127 8/21/2025
8.0.513 130 8/20/2025
8.0.512 123 8/20/2025
8.0.511 130 8/20/2025
8.0.510 126 8/18/2025
8.0.509 124 8/18/2025
8.0.508 133 8/13/2025
8.0.506 131 8/13/2025
8.0.505 136 8/13/2025
8.0.504 141 8/13/2025
8.0.503 133 8/13/2025
8.0.502 130 8/12/2025
8.0.501 131 8/12/2025
8.0.500 128 8/12/2025
8.0.499 143 8/12/2025
8.0.498 125 8/11/2025
8.0.497 165 8/8/2025
8.0.496 168 8/8/2025
8.0.495 171 8/8/2025
8.0.494 197 8/8/2025
8.0.493 208 8/7/2025
8.0.492 204 8/7/2025
8.0.491 208 8/7/2025
8.0.490 195 8/7/2025
8.0.489 199 8/5/2025
8.0.488 203 8/5/2025
8.0.487 77 8/1/2025
8.0.486 98 7/30/2025
8.0.485 103 7/28/2025
8.0.484 94 7/28/2025
8.0.483 100 7/28/2025
8.0.482 94 7/28/2025
8.0.481 95 7/28/2025
8.0.480 353 7/25/2025
8.0.479 378 7/25/2025
8.0.478 378 7/25/2025
8.0.477 389 7/25/2025
8.0.476 392 7/25/2025
8.0.475 442 7/24/2025
8.0.474 443 7/24/2025
8.0.473 513 7/23/2025
8.0.472 512 7/23/2025
8.0.470 511 7/23/2025
8.0.469 514 7/23/2025
8.0.468 511 7/23/2025
8.0.467 512 7/23/2025
8.0.466 512 7/23/2025
8.0.465 510 7/23/2025
8.0.464 509 7/23/2025
8.0.463 507 7/23/2025
8.0.462 512 7/22/2025
8.0.461 503 7/22/2025
8.0.460 396 7/21/2025
8.0.459 72 7/18/2025
8.0.458 84 7/18/2025
8.0.457 120 7/17/2025
8.0.456 122 7/17/2025
8.0.455 112 7/17/2025
8.0.454 116 7/17/2025
8.0.453 114 7/17/2025
8.0.452 114 7/17/2025
8.0.451 115 7/17/2025
8.0.450 113 7/17/2025
8.0.449 117 7/17/2025
8.0.448 115 7/17/2025
8.0.447 114 7/16/2025
8.0.446 117 7/16/2025
8.0.445 119 7/16/2025
8.0.444 121 7/16/2025
8.0.443 115 7/16/2025
8.0.442 116 7/16/2025
8.0.439 118 7/15/2025
8.0.438 117 7/15/2025
8.0.437 115 7/15/2025
8.0.436 115 7/15/2025
8.0.435 116 7/15/2025
8.0.433 121 7/14/2025
8.0.432 116 7/14/2025
8.0.431 104 7/11/2025
8.0.430 106 7/11/2025
8.0.429 123 7/10/2025
8.0.428 120 7/10/2025
8.0.427 120 7/9/2025
8.0.426 122 7/8/2025
8.0.425 126 7/8/2025
8.0.424 123 7/8/2025
8.0.423 117 7/8/2025
8.0.422 122 7/8/2025
8.0.421 123 7/8/2025
8.0.420 119 7/7/2025
8.0.419 122 7/7/2025
8.0.418 120 7/7/2025
8.0.417 117 7/7/2025
8.0.416 118 7/6/2025
8.0.415 86 7/4/2025
8.0.414 89 7/4/2025
8.0.411 126 7/3/2025
8.0.410 121 7/3/2025
8.0.409 121 7/3/2025
8.0.408 119 7/1/2025
8.0.407 123 7/1/2025
8.0.406 120 7/1/2025
8.0.405 121 7/1/2025
8.0.404 165 6/26/2025
8.0.403 115 6/26/2025
8.0.401 138 6/24/2025
8.0.400 120 6/24/2025
8.0.399 120 6/23/2025
8.0.398 122 6/23/2025
8.0.397 79 6/20/2025
8.0.396 124 6/19/2025
8.0.395 127 6/18/2025
8.0.394 125 6/18/2025
8.0.392 129 6/18/2025
8.0.390 131 6/18/2025
6.0.555 55 9/12/2025
6.0.554 107 9/11/2025
6.0.553 106 9/11/2025
6.0.552 107 9/11/2025
6.0.551 107 9/11/2025
6.0.550 112 9/11/2025
6.0.548 108 9/11/2025
6.0.547 110 9/11/2025
6.0.546 109 9/11/2025
6.0.545 108 9/11/2025
6.0.544 118 9/10/2025
6.0.543 123 9/10/2025
6.0.542 121 9/10/2025
6.0.541 122 9/10/2025
6.0.540 117 9/9/2025
6.0.539 116 9/9/2025
6.0.538 117 9/9/2025
6.0.537 120 9/9/2025
6.0.536 119 9/9/2025
6.0.535 120 9/9/2025
6.0.534 118 9/9/2025
6.0.533 121 9/9/2025
6.0.532 126 9/8/2025
6.0.531 99 9/5/2025
6.0.530 133 9/4/2025
6.0.529 134 9/4/2025
6.0.528 133 9/4/2025
6.0.527 136 9/4/2025
6.0.526 135 9/3/2025
6.0.525 118 9/2/2025
6.0.524 123 9/2/2025
6.0.523 123 9/2/2025
6.0.522 175 8/28/2025
6.0.521 172 8/27/2025
6.0.520 171 8/27/2025
6.0.519 174 8/27/2025
6.0.518 175 8/27/2025
6.0.517 143 8/25/2025
6.0.516 262 8/25/2025
6.0.515 197 8/24/2025
6.0.514 123 8/21/2025
6.0.513 124 8/20/2025
6.0.512 122 8/20/2025
6.0.511 125 8/20/2025
6.0.510 122 8/18/2025
6.0.509 123 8/18/2025
6.0.508 131 8/13/2025
6.0.506 128 8/13/2025
6.0.505 128 8/13/2025
6.0.504 130 8/13/2025
6.0.503 129 8/13/2025
6.0.502 127 8/12/2025
6.0.501 128 8/12/2025
6.0.500 128 8/12/2025
6.0.499 133 8/12/2025
6.0.498 122 8/11/2025
6.0.497 164 8/8/2025
6.0.496 168 8/8/2025
6.0.495 171 8/8/2025
6.0.494 192 8/8/2025
6.0.493 207 8/7/2025
6.0.492 203 8/7/2025
6.0.491 201 8/7/2025
6.0.490 196 8/7/2025
6.0.489 199 8/5/2025
6.0.488 201 8/5/2025
6.0.487 64 8/1/2025
6.0.486 101 7/30/2025
6.0.485 93 7/28/2025
6.0.484 94 7/28/2025
6.0.483 98 7/28/2025
6.0.482 94 7/28/2025
6.0.481 95 7/28/2025
6.0.480 352 7/25/2025
6.0.479 377 7/25/2025
6.0.478 378 7/25/2025
6.0.477 388 7/25/2025
6.0.476 393 7/25/2025
6.0.475 444 7/24/2025
6.0.474 443 7/24/2025
6.0.473 511 7/23/2025
6.0.472 511 7/23/2025
6.0.470 510 7/23/2025
6.0.469 510 7/23/2025
6.0.468 509 7/23/2025
6.0.467 511 7/23/2025
6.0.466 512 7/23/2025
6.0.465 506 7/23/2025
6.0.464 508 7/23/2025
6.0.463 508 7/23/2025
6.0.462 502 7/22/2025
6.0.461 504 7/22/2025
6.0.460 391 7/21/2025
6.0.459 68 7/18/2025
6.0.458 84 7/18/2025
6.0.457 114 7/17/2025
6.0.456 112 7/17/2025
6.0.455 112 7/17/2025