Reo.Core.Application.Abstractions.MediatorGenerator 8.0.425

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.425
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 8.0.425
                    
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.425" />
                    
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.425" />
                    
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.425
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 8.0.425"
                    
#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.425
                    
#: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.425
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=8.0.425
                    
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 51 9/12/2025
8.0.554 105 9/11/2025
8.0.553 102 9/11/2025
8.0.552 105 9/11/2025
8.0.551 105 9/11/2025
8.0.550 105 9/11/2025
8.0.548 101 9/11/2025
8.0.547 107 9/11/2025
8.0.546 104 9/11/2025
8.0.545 103 9/11/2025
8.0.544 117 9/10/2025
8.0.543 117 9/10/2025
8.0.542 116 9/10/2025
8.0.541 120 9/10/2025
8.0.540 117 9/9/2025
8.0.539 114 9/9/2025
8.0.538 116 9/9/2025
8.0.537 113 9/9/2025
8.0.536 115 9/9/2025
8.0.535 114 9/9/2025
8.0.534 117 9/9/2025
8.0.533 113 9/9/2025
8.0.532 117 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 114 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 45 9/12/2025
6.0.554 101 9/11/2025
6.0.553 100 9/11/2025
6.0.552 101 9/11/2025
6.0.551 101 9/11/2025
6.0.550 106 9/11/2025
6.0.548 102 9/11/2025
6.0.547 104 9/11/2025
6.0.546 103 9/11/2025
6.0.545 102 9/11/2025
6.0.544 112 9/10/2025
6.0.543 117 9/10/2025
6.0.542 115 9/10/2025
6.0.541 116 9/10/2025
6.0.540 111 9/9/2025
6.0.539 110 9/9/2025
6.0.538 111 9/9/2025
6.0.537 114 9/9/2025
6.0.536 113 9/9/2025
6.0.535 114 9/9/2025
6.0.534 112 9/9/2025
6.0.533 115 9/9/2025
6.0.532 120 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