ADR-0010: Provider Integrations Через Anti-Corruption Layer
Статус
Accepted
Контекст
ExternalAggregator и будущие игровые/платежные провайдеры имеют собственные DTO, подписи, статусы, ошибки, ретраи, timeout semantics и idempotency rules. Если эти модели попадут в домен, платформа станет зависимой от внешних контрактов.
Решение
Каждая внешняя интеграция реализуется через anti-corruption layer:
- typed provider client;
- signature validator;
- DTO mapper в canonical application models;
- provider-specific error mapper;
- idempotency adapter;
- reconciliation adapter;
- options class with validation.
Domain и Application работают с canonical моделями Pin, а не с provider DTO.