Reo.Core.Application.Abstractions.MediatorGenerator 6.0.466

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 6.0.466
                    
NuGet\Install-Package Reo.Core.Application.Abstractions.MediatorGenerator -Version 6.0.466
                    
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="6.0.466" />
                    
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="6.0.466" />
                    
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 6.0.466
                    
#r "nuget: Reo.Core.Application.Abstractions.MediatorGenerator, 6.0.466"
                    
#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@6.0.466
                    
#: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=6.0.466
                    
Install as a Cake Addin
#tool nuget:?package=Reo.Core.Application.Abstractions.MediatorGenerator&version=6.0.466
                    
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.529 0 9/4/2025
8.0.528 0 9/4/2025
8.0.527 0 9/4/2025
8.0.526 25 9/3/2025
8.0.525 23 9/2/2025
8.0.524 28 9/2/2025
8.0.523 27 9/2/2025
8.0.522 165 8/28/2025
8.0.521 170 8/27/2025
8.0.520 176 8/27/2025
8.0.519 173 8/27/2025
8.0.518 172 8/27/2025
8.0.517 145 8/25/2025
8.0.516 265 8/25/2025
8.0.515 195 8/24/2025
8.0.514 125 8/21/2025
8.0.513 127 8/20/2025
8.0.512 120 8/20/2025
8.0.511 126 8/20/2025
8.0.510 124 8/18/2025
8.0.509 121 8/18/2025
8.0.508 131 8/13/2025
8.0.506 128 8/13/2025
8.0.505 134 8/13/2025
8.0.504 138 8/13/2025
8.0.503 131 8/13/2025
8.0.502 128 8/12/2025
8.0.501 129 8/12/2025
8.0.500 126 8/12/2025
8.0.499 141 8/12/2025
8.0.498 123 8/11/2025
8.0.497 162 8/8/2025
8.0.496 166 8/8/2025
8.0.495 169 8/8/2025
8.0.494 195 8/8/2025
8.0.493 206 8/7/2025
8.0.492 202 8/7/2025
8.0.491 204 8/7/2025
8.0.490 192 8/7/2025
8.0.489 198 8/5/2025
8.0.488 202 8/5/2025
8.0.487 76 8/1/2025
8.0.486 97 7/30/2025
8.0.485 102 7/28/2025
8.0.484 93 7/28/2025
8.0.483 99 7/28/2025
8.0.482 93 7/28/2025
8.0.481 94 7/28/2025
8.0.480 352 7/25/2025
8.0.479 377 7/25/2025
8.0.478 377 7/25/2025
8.0.477 388 7/25/2025
8.0.476 391 7/25/2025
8.0.475 441 7/24/2025
8.0.474 442 7/24/2025
8.0.473 492 7/23/2025
8.0.472 491 7/23/2025
8.0.470 489 7/23/2025
8.0.469 495 7/23/2025
8.0.468 489 7/23/2025
8.0.467 489 7/23/2025
8.0.466 490 7/23/2025
8.0.465 489 7/23/2025
8.0.464 488 7/23/2025
8.0.463 488 7/23/2025
8.0.462 488 7/22/2025
8.0.461 482 7/22/2025
8.0.460 372 7/21/2025
8.0.459 70 7/18/2025
8.0.458 82 7/18/2025
8.0.457 118 7/17/2025
8.0.456 121 7/17/2025
8.0.455 111 7/17/2025
8.0.454 115 7/17/2025
8.0.453 113 7/17/2025
8.0.452 113 7/17/2025
8.0.451 114 7/17/2025
8.0.450 112 7/17/2025
8.0.449 116 7/17/2025
8.0.448 113 7/17/2025
8.0.447 113 7/16/2025
8.0.446 116 7/16/2025
8.0.445 118 7/16/2025
8.0.444 120 7/16/2025
8.0.443 114 7/16/2025
8.0.442 115 7/16/2025
8.0.439 117 7/15/2025
8.0.438 116 7/15/2025
8.0.437 114 7/15/2025
8.0.436 114 7/15/2025
8.0.435 115 7/15/2025
8.0.433 118 7/14/2025
8.0.432 114 7/14/2025
8.0.431 103 7/11/2025
8.0.430 105 7/11/2025
8.0.429 122 7/10/2025
8.0.428 119 7/10/2025
8.0.427 119 7/9/2025
8.0.426 120 7/8/2025
8.0.425 125 7/8/2025
8.0.424 122 7/8/2025
8.0.423 116 7/8/2025
8.0.422 119 7/8/2025
8.0.421 122 7/8/2025
8.0.420 118 7/7/2025
8.0.419 121 7/7/2025
8.0.418 119 7/7/2025
8.0.417 116 7/7/2025
8.0.416 117 7/6/2025
8.0.415 85 7/4/2025
8.0.414 88 7/4/2025
8.0.411 125 7/3/2025
8.0.410 120 7/3/2025
8.0.409 120 7/3/2025
8.0.408 118 7/1/2025
8.0.407 122 7/1/2025
8.0.406 119 7/1/2025
8.0.405 119 7/1/2025
8.0.404 151 6/26/2025
8.0.403 114 6/26/2025
8.0.401 137 6/24/2025
8.0.400 118 6/24/2025
8.0.399 119 6/23/2025
8.0.398 121 6/23/2025
8.0.397 78 6/20/2025
8.0.396 123 6/19/2025
8.0.395 126 6/18/2025
8.0.394 124 6/18/2025
8.0.392 128 6/18/2025
8.0.390 129 6/18/2025
6.0.529 0 9/4/2025
6.0.528 0 9/4/2025
6.0.527 0 9/4/2025
6.0.526 22 9/3/2025
6.0.525 22 9/2/2025
6.0.524 27 9/2/2025
6.0.523 26 9/2/2025
6.0.522 163 8/28/2025
6.0.521 170 8/27/2025
6.0.520 168 8/27/2025
6.0.519 171 8/27/2025
6.0.518 172 8/27/2025
6.0.517 141 8/25/2025
6.0.516 260 8/25/2025
6.0.515 194 8/24/2025
6.0.514 121 8/21/2025
6.0.513 121 8/20/2025
6.0.512 119 8/20/2025
6.0.511 121 8/20/2025
6.0.510 120 8/18/2025
6.0.509 120 8/18/2025
6.0.508 129 8/13/2025
6.0.506 125 8/13/2025
6.0.505 125 8/13/2025
6.0.504 128 8/13/2025
6.0.503 127 8/13/2025
6.0.502 125 8/12/2025
6.0.501 126 8/12/2025
6.0.500 126 8/12/2025
6.0.499 131 8/12/2025
6.0.498 120 8/11/2025
6.0.497 161 8/8/2025
6.0.496 166 8/8/2025
6.0.495 169 8/8/2025
6.0.494 190 8/8/2025
6.0.493 205 8/7/2025
6.0.492 201 8/7/2025
6.0.491 198 8/7/2025
6.0.490 193 8/7/2025
6.0.489 198 8/5/2025
6.0.488 200 8/5/2025
6.0.487 63 8/1/2025
6.0.486 100 7/30/2025
6.0.485 92 7/28/2025
6.0.484 93 7/28/2025
6.0.483 97 7/28/2025
6.0.482 93 7/28/2025
6.0.481 94 7/28/2025
6.0.480 351 7/25/2025
6.0.479 376 7/25/2025
6.0.478 377 7/25/2025
6.0.477 387 7/25/2025
6.0.476 392 7/25/2025
6.0.475 443 7/24/2025
6.0.474 442 7/24/2025
6.0.473 488 7/23/2025
6.0.472 488 7/23/2025
6.0.470 487 7/23/2025
6.0.469 491 7/23/2025
6.0.468 487 7/23/2025
6.0.467 489 7/23/2025
6.0.466 491 7/23/2025
6.0.465 487 7/23/2025
6.0.464 487 7/23/2025
6.0.463 488 7/23/2025
6.0.462 481 7/22/2025
6.0.461 483 7/22/2025
6.0.460 366 7/21/2025
6.0.459 66 7/18/2025
6.0.458 82 7/18/2025
6.0.457 112 7/17/2025
6.0.456 111 7/17/2025
6.0.455 111 7/17/2025