Service Locator

Architecture 🟡 Mid

Définition

Registre central qui fournit des services a la demande. Considère comme un anti-pattern car il cache les dépendances au lieu de les rendre explicites.

Analogie

Les Pages Jaunes : tu cherches un plombier sans savoir lequel tu auras. Le problème : tu ne vois pas les dépendances.

Exemple de code

class ServiceLocator {
  static #services = new Map();
  static register(name, svc) { this.#services.set(name, svc); }
  static get(name) { return this.#services.get(name); }
}

Cas d'usage

Legacy code ou l'injection de dépendances n'est pas disponible.

Anti-pattern

Ce pattern EST l'anti-pattern : dépendances cachées, tests difficiles, couplage au locator.
#architecture#interview#anti-pattern

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