Strategy

Architecture 🟢 Junior

Définition

Définit une famille d'algorithmes interchangeables encapsulés séparément. Le client choisit l'algorithme a utiliser au runtime.

Analogie

Choisir son moyen de transport : vélo, bus ou voiture — la destination est la même, la stratégie change.

Exemple de code

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

Cas d'usage

Algorithmes de tri, stratégies de paiement, politiques de retry configurables.

Anti-pattern

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

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