Com o hype do Domain Driven Design (DDD) e arquiteturas em camadas (como a clean architecture), a reescrita de sistemas legados vem sendo cada vez mais comum. Como sistemas legados geralmente são monolitos enormes e sua reescrita leva tempo, é necessário que haja compatibilidade entre o sistema legado e o que está sendo criado. Lidamos com isso muito bem usando a anti-corruption layer (ACL). Seguindo o DDD e a arquitetura clean, um dos conceitos empregados no novo sistema seria o Bounded Context, responsável por delimitar conceitos do business dentro da área da qual eles fazem parte.
Quando precisamos lidar com compatibilidade entre o sistema novo e o legado, a ACL funciona muito bem. Mas e quando se trata de compatibilidade entre bounded contexts bem definidos dentro do sistema novo?