Anti-Corruption Layer

Architecture 🔴 Senior

Définition

Couche de traduction entre votre domaine et un système externe ou legacy. Empêche les concepts étrangers de polluer votre modèle.

Analogie

Un traducteur-interprété 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

Intégrer un système 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

← → au clavier pour passer d'une fiche à l'autre