Anti-Corruption Layer
Architecture 🔴 SeniorDefinition
Couche de traduction entre votre domaine et un systeme externe ou legacy. Empeche les concepts etrangers de polluer votre modele.
Analogie
Un traducteur-interprete entre deux pays : il adapte non seulement la langue mais aussi les conventions culturelles.
Exemple de code
class LegacyUserAdapter {
toModernUser(legacyData) {
return new User({
id: legacyData.USR_ID,
name: `${legacyData.FNAME} ${legacyData.LNAME}`,
});
}
}
Cas d'usage
Integrer un systeme legacy sans contaminer votre domaine avec ses conventions.
Anti-pattern
Laisser les champs legacy (USR_ID, FNAME) se propager dans tout votre domaine.