Strategy Pattern

PHP 🟡 Mid

Definition

Pattern qui definit une famille d'algorithmes interchangeables. Le client choisit la strategie a utiliser a l'execution sans modifier le code consommateur.

Analogie

Comme choisir son moyen de transport : bus, velo ou taxi, la destination reste la meme.

Exemple de code

interface ShippingStrategy {
  public function calculate(Order $order): float;
}
class ExpressShipping implements ShippingStrategy { }
class StandardShipping implements ShippingStrategy { }

$order->setShipping(new ExpressShipping());

Cas d'usage

Quand un comportement peut varier selon le contexte : calcul de prix, tri, notification.

Anti-pattern

Utiliser des switch/case ou des if/else pour choisir l'algorithme inline.
#core#interview#pattern