Object Pool

Architecture 🟡 Mid

Définition

Maintient un ensemble d'objets réinitialisés prêts a l'emploi pour éviter le coût de création/destruction répétée. Gère le cycle de vie acquire/release.

Analogie

Les caddies au supermarché : tu en prends un disponible, tu l'utilises, puis tu le rends.

Exemple de code

class Pool {
  #available = [];
  acquire() { return this.#available.pop() ?? create(); }
  release(obj) { obj.reset(); this.#available.push(obj); }
}

Cas d'usage

Pool de connexions DB, threads, ou objets graphiques dans un moteur de jeu.

Anti-pattern

Ne pas réinitialiser les objets avant de les remettre dans le pool — données résiduelles.
#architecture#interview#gof#creational#performance

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