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

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.