Strategy Pattern
PHP 🟡 MidDéfinition
Pattern qui définit une famille d'algorithmes interchangeables. Le client choisit la stratégie a utiliser a l'exécution sans modifier le code consommateur.
Analogie
Comme choisir son moyen de transport : bus, vélo ou taxi, la destination reste la même.
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.