Repository

Architecture 🟡 Mid

Definition

Abstrait l'acces aux donnees en encapsulant la logique de persistance derriere une interface de collection. Le domaine ignore la source de donnees.

Analogie

Une bibliothecaire : tu demandes un livre par titre, elle sait ou le trouver sans que tu connaisses le systeme de classement.

Exemple de code

class UserRepo {
  async findById(id) { return db.users.findOne({ id }); }
  async save(user) { return db.users.upsert(user); }
  async findByEmail(e) { return db.users.findOne({ email: e }); }
}

Cas d'usage

Decoupler le domaine metier du framework ORM ou de la base de donnees.

Anti-pattern

Repository avec des methodes specifiques a l'ORM qui fuient dans le domaine.
#architecture#interview#ddd#best-practice