🛡️ Anti-Corruption Layer
Protege o domínio novo do modelo feio do legado — em ambas as direções
A ACL vive na camada Infrastructure. Domain define a interface. Infrastructure implementa com a tradução dentro. Domain nunca importa nada do legado.
O problema sem ACL
Sem ACL, o domínio novo precisa conhecer
TBL_ORDR, CUST_CD, STAT_CD. Qualquer mudança no schema legado quebra o domínio. O legado "contamina" o novo sistema. Com ACL
| Direção | Quando ocorre | O que traduz |
|---|---|---|
| Inbound (Legacy → Domain) | Ao ler dados do legado | TBL_ORDR com colunas feias → Order com Value Objects |
| Outbound (Domain → Legacy) | Fase 1 (dual write) e Fase 2 (SyncJob) | Order limpo → TBL_ORDR com colunas feias |
❓ Onde exatamente a ACL vive na Clean Architecture?
Infrastructure layer. Domain define a interface (ex: IOrderRepository), Application usa a interface sem saber da implementação. Infrastructure implementa com a tradução ACL dentro. Se o schema legado mudar, você só muda a Infrastructure — Domain e Application ficam intactos.