Anti-Corruption Layer

Architecture 🔴 Senior

Definition

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.
#architecture#interview#ddd