Skip to content

PT BR Arquitetura

Vinícius Campos edited this page Aug 22, 2026 · 2 revisions

Arquitetura

English · Início em português

Esta página descreve a implementação no commit dbca345372483477097385eb43d850484b00ec13. O código e os guias regulares em docs/ nesse commit são canônicos; docs/superpowers/** registra trabalho histórico de design e não é o contrato da implementação vigente.

Projetos e limites dos pacotes

Projeto / pacote Targets Responsabilidade
Offside netstandard2.0, net8.0, net10.0 Error, ErrorKind, Result, Result<T>, catálogos JSON e AddOffside
Offside.AspNetCore net8.0, net10.0 Escolha de status HTTP, OffsideProblem e adaptadores de Minimal API e MVC
Offside.FluentValidation netstandard2.0, net8.0, net10.0 Converte falhas de validação em erros e resultados Offside
Offside.FastEndpoint net8.0, net10.0 Resposta de validação FastEndpoints, metadados OpenAPI e envio de resultados
Offside.AzureAppConfiguration netstandard2.0, net8.0, net10.0 Resolve catálogos de uma hierarquia IConfiguration já construída
Offside.MediatR netstandard2.0, net8.0, net10.0 Notificações de erro e coletor scoped
Offside.Tool net8.0 offside init, templates de catálogo e instalação de skills de agente
flowchart LR
    Core[Offside core]
    Asp[Offside.AspNetCore] --> Core
    FV[Offside.FluentValidation] --> Core
    FE[Offside.FastEndpoint] --> Asp
    FE --> FV
    Azure[Offside.AzureAppConfiguration] --> Core
    Med[Offside.MediatR] --> Core
    Tool[Offside.Tool]
    Asp -. framework .-> ASPNET[Microsoft.AspNetCore.App]
    FE -. pacote 8.3.0 .-> FastEndpoints
    FV -. pacote 11.11.0 .-> FluentValidation
    Med -. faixa 12.0.1 até abaixo de 15 .-> MediatR
Loading

O core não depende de ASP.NET Core, FastEndpoints, MediatR nem Azure. Assim, o domínio pode devolver falhas estruturadas sem conhecer seu transporte. Os adaptadores traduzem esses valores na borda da aplicação.

Offside.FastEndpoint referencia FastEndpoints 8.3.0 diretamente. No grafo restaurado, FastEndpoints resolve FluentValidation 12.1.1 transitivamente, ainda que Offside.FluentValidation declare 11.11.0 como versão mínima/direta. Consumidores devem avaliar o grafo NuGet combinado, não presumir que a declaração menor será a versão final resolvida.

Composição em runtime

AddOffside registra o resolver JSON. AddOffsideAspNetCore registra as opções ASP.NET. O registro Azure é uma alternativa sobre configuração fornecida pelo host. MediatR e FastEndpoints continuam sendo adaptadores opt-in.

Offside não instala middleware global de exceção. Falhas normais do domínio devem ser devolvidas como Result. DomainException é apenas um escape para uma borda que não consegue devolver resultado; cabe ao host capturá-la e decidir a resposta.

Continue em ciclo de erros e resultados, resolução de mensagens, integrações e adaptadores e build, testes e release.

Clone this wiki locally