DEV Community

Cover image for O que é uma Anticorruption Layer?
Pedro Augusto
Pedro Augusto

Posted on

O que é uma Anticorruption Layer?

Eu coloquei como meta aprender uma coisa nova por dia, pelo menos uma. E vou procurar compartilhar por aqui.

Meu objetivo aqui é expor o que aprendi de uma forma mais simples. Como se fizesse uma breve explicação para uma pessoa leiga ou não.

Uma das coisas que me deparei recentemente foi com o conceito de Camada Anticorrupção.

A Camada Anticorrupção é um padrão de design em desenvolvimento de software. E serve pra realizar a comunicação entre subsistemas que tenham alguma incompatibilidade entre si.

Explico: O subsistema A ao se comunicar com um outro subsistema B usa essa camada como intermediário.

A comunicação entre A e a Camada é feita no modelo de dados e arquitetura daquele subsistema.

Por sua vez, a comunicação Camada e subsistema B se dá conforme o modelo de dados e arquitetura de B.

Importante dizer que esse tipo de padrão é usado quando há diferenças SEMÂNTICAS entre os subsistemas.

Então, por exemplo, a Camada Anticorrupção pode atuar adaptando um nome de um campo que esteja em snake case (e.g snake_case) no primeiro subsistema e traduzi-lo para camel case (e.g camelCase) para ser usado no outro subsistema.

Dessa forma se previne uma possível quebra do software em razão de uma corrupção.

Para uma leitura mais aprofundada: https://learn.microsoft.com/pt-br/azure/architecture/patterns/anti-corruption-layer

Top comments (0)