Strategy

Architecture 🟢 Junior

Definition

Definit une famille d'algorithmes interchangeables encapsules separement. Le client choisit l'algorithme a utiliser au runtime.

Analogie

Choisir son moyen de transport : velo, bus ou voiture — la destination est la meme, la strategie change.

Exemple de code

const strategies = {
  credit: (amount) => chargeCard(amount),
  paypal: (amount) => paypalCheckout(amount),
};
const pay = strategies[method];

Cas d'usage

Algorithmes de tri, strategies de paiement, politiques de retry configurables.

Anti-pattern

if/else ou switch sur le type d'algorithme eparpilles dans tout le code.
#architecture#interview#gof#behavioral