I set a goal to learn one new thing a day, at least one. And I'll try to share it here.
My goal here is to explain what I learned in a simpler way. As if making a brief explanation for a lay person or not.
One of the things I recently came across was the concept of the Anti-Corruption Layer.
The Anti-Corruption Layer is a design pattern in software development. And it is used to carry out communication between subsystems that have some incompatibility between them.
I explain: Subsystem A, when communicating with another subsystem B, uses this layer as an intermediary.
Communication between A and Layer is done in the data model and architecture of that subsystem.
In turn, Layer and subsystem B communication occurs according to B's data model and architecture.
It is important to say that this type of pattern is used when there are SEMANTIC differences between subsystems.
So, for example, the Anti-Corruption Layer can act by adapting a name from a field that is in snake case (snake_case) in the first subsystem and translating it to camel case (camelCase) to be used in the other subsystem.
This way, a possible breakage of the software due to corruption is prevented.
For deeper reading: https://learn.microsoft.com/pt-br/azure/architecture/patterns/anti-corruption-layer
The above is the detailed content of What is an Anticorruption Layer?. For more information, please follow other related articles on the PHP Chinese website!