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.
Каждый сервис имеет слои:
ApiApplicationDomainInfrastructureMigratorBackgroundContracts
Внутри Application используется vertical feature slicing: команды, запросы, валидаторы, handlers и DTO группируются по use case. Domain model rich там, где есть реальные инварианты.