Reo.Core.Application.Abstractions.MediatorGenerator 8.0.469

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.469
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 8.0.469
                    
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.469" />
                    
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.469" />
                    
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.469
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 8.0.469"
                    
#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.469
                    
#: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.469
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=8.0.469
                    
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.540 0 9/9/2025
8.0.539 0 9/9/2025
8.0.538 0 9/9/2025
8.0.537 0 9/9/2025
8.0.536 4 9/9/2025
8.0.535 5 9/9/2025
8.0.534 18 9/9/2025
8.0.533 16 9/9/2025
8.0.532 37 9/8/2025
8.0.531 92 9/5/2025
8.0.530 130 9/4/2025
8.0.529 116 9/4/2025
8.0.528 127 9/4/2025
8.0.527 124 9/4/2025
8.0.526 139 9/3/2025
8.0.525 117 9/2/2025
8.0.524 123 9/2/2025
8.0.523 121 9/2/2025
8.0.522 176 8/28/2025
8.0.521 171 8/27/2025
8.0.520 177 8/27/2025
8.0.519 174 8/27/2025
8.0.518 173 8/27/2025
8.0.517 145 8/25/2025
8.0.516 266 8/25/2025
8.0.515 196 8/24/2025
8.0.514 126 8/21/2025
8.0.513 129 8/20/2025
8.0.512 122 8/20/2025
8.0.511 128 8/20/2025
8.0.510 124 8/18/2025
8.0.509 122 8/18/2025
8.0.508 132 8/13/2025
8.0.506 128 8/13/2025
8.0.505 135 8/13/2025
8.0.504 138 8/13/2025
8.0.503 132 8/13/2025
8.0.502 128 8/12/2025
8.0.501 130 8/12/2025
8.0.500 127 8/12/2025
8.0.499 142 8/12/2025
8.0.498 124 8/11/2025
8.0.497 163 8/8/2025
8.0.496 167 8/8/2025
8.0.495 170 8/8/2025
8.0.494 195 8/8/2025
8.0.493 207 8/7/2025
8.0.492 203 8/7/2025
8.0.491 206 8/7/2025
8.0.490 192 8/7/2025
8.0.489 198 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 377 7/25/2025
8.0.478 378 7/25/2025
8.0.477 389 7/25/2025
8.0.476 391 7/25/2025
8.0.475 442 7/24/2025
8.0.474 443 7/24/2025
8.0.473 493 7/23/2025
8.0.472 492 7/23/2025
8.0.470 490 7/23/2025
8.0.469 496 7/23/2025
8.0.468 489 7/23/2025
8.0.467 489 7/23/2025
8.0.466 491 7/23/2025
8.0.465 490 7/23/2025
8.0.464 488 7/23/2025
8.0.463 489 7/23/2025
8.0.462 489 7/22/2025
8.0.461 483 7/22/2025
8.0.460 393 7/21/2025
8.0.459 72 7/18/2025
8.0.458 83 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 114 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 114 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 120 7/14/2025
8.0.432 115 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 120 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 157 6/26/2025
8.0.403 115 6/26/2025
8.0.401 138 6/24/2025
8.0.400 119 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 124 6/18/2025
8.0.392 129 6/18/2025
8.0.390 130 6/18/2025
6.0.540 0 9/9/2025
6.0.539 0 9/9/2025
6.0.538 0 9/9/2025
6.0.537 0 9/9/2025
6.0.536 3 9/9/2025
6.0.535 2 9/9/2025
6.0.534 15 9/9/2025
6.0.533 15 9/9/2025
6.0.532 39 9/8/2025
6.0.531 85 9/5/2025
6.0.530 122 9/4/2025
6.0.529 123 9/4/2025
6.0.528 122 9/4/2025
6.0.527 124 9/4/2025
6.0.526 132 9/3/2025
6.0.525 117 9/2/2025
6.0.524 122 9/2/2025
6.0.523 121 9/2/2025
6.0.522 173 8/28/2025
6.0.521 171 8/27/2025
6.0.520 169 8/27/2025
6.0.519 172 8/27/2025
6.0.518 173 8/27/2025
6.0.517 142 8/25/2025
6.0.516 261 8/25/2025
6.0.515 195 8/24/2025
6.0.514 122 8/21/2025
6.0.513 123 8/20/2025
6.0.512 121 8/20/2025
6.0.511 123 8/20/2025
6.0.510 121 8/18/2025
6.0.509 121 8/18/2025
6.0.508 130 8/13/2025
6.0.506 126 8/13/2025
6.0.505 126 8/13/2025
6.0.504 128 8/13/2025
6.0.503 128 8/13/2025
6.0.502 126 8/12/2025
6.0.501 127 8/12/2025
6.0.500 126 8/12/2025
6.0.499 132 8/12/2025
6.0.498 120 8/11/2025
6.0.497 161 8/8/2025
6.0.496 167 8/8/2025
6.0.495 169 8/8/2025
6.0.494 191 8/8/2025
6.0.493 206 8/7/2025
6.0.492 202 8/7/2025
6.0.491 199 8/7/2025
6.0.490 194 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 443 7/24/2025
6.0.474 443 7/24/2025
6.0.473 489 7/23/2025
6.0.472 489 7/23/2025
6.0.470 487 7/23/2025
6.0.469 492 7/23/2025
6.0.468 488 7/23/2025
6.0.467 490 7/23/2025
6.0.466 492 7/23/2025
6.0.465 488 7/23/2025
6.0.464 488 7/23/2025
6.0.463 489 7/23/2025
6.0.462 482 7/22/2025
6.0.461 485 7/22/2025
6.0.460 387 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