Questão nº 93
Questão de Engenharia de Software · CEBRASPE SUSEP 2025 (nº 93)
A respeito dos conceitos de DDD (domain-driven design) e de arquitetura serverless, julgue os itens a seguir.
No DDD, o ACL (anti-corruption layer) é utilizado para a tradução de modelos entre bounded contexts, mas sua implementação exige que todas as comunicações sejam assíncronas, sendo o seu uso inviabilizado em sistemas síncronos.
Resposta comentada
O ACL (Anti-Corruption Layer ou "camada anticorrupção") é uma camada de tradução que fica entre dois bounded contexts (contextos delimitados, ou seja, fronteiras onde um modelo de domínio tem significado próprio). Ela converte os modelos de um lado para o outro, evitando que conceitos de um contexto "contaminem" o outro. Essa tradução é um papel lógico, não uma imposição de protocolo de comunicação.
- Correta: Errado. O ACL é só uma camada de tradução de modelos; ele não exige que a comunicação seja assíncrona, podendo ser usado tanto em chamadas síncronas (ex.: HTTP/REST) quanto assíncronas (ex.: mensageria). A palavra "exige" (junto com "todas as comunicações sejam assíncronas") é a pegadinha: ela transforma uma possibilidade em obrigação inexistente.
Como ficaria certo: No DDD, o ACL é utilizado para traduzir modelos entre bounded contexts, podendo ser implementado tanto em comunicações síncronas quanto assíncronas.
Fonte: CEBRASPE SUSEP 2025 Analista Técnico - Área: Tecnologia da Informação e Ciência de Dados. Reproduzida para fins de estudo.