Перейти к основному содержимому

ADR-0002: Backend На .NET 10, DDD И Vertical Slice

Статус

Accepted

Контекст

Платформа содержит сложные домены: деньги, game callbacks, бонусы, KYC, партнерские комиссии, multi-tenant правила. Нужны строгая типизация, тестируемость, транзакционность, поддерживаемость и возможность развивать сервисы независимо.

Решение

Backend сервисы пишутся на .NET 10 LTS, ASP.NET Core MVC controllers/actions, C#, MediatR CQRS, EF Core/Npgsql, Mapster, FluentValidation, FluentResults, MassTransit, Redis, OpenTelemetry, Serilog, Polly и Testcontainers.

Каждый сервис имеет слои:

  • Api
  • Application
  • Domain
  • Infrastructure
  • Migrator
  • Background
  • Contracts

Внутри Application используется vertical feature slicing: команды, запросы, валидаторы, handlers и DTO группируются по use case. Domain model rich там, где есть реальные инварианты.