Refactoriser If-Else Hell en un modèle de stratégie en PHP ⚙️

DEV - 25/11
Salut! Aujourd'hui, je souhaite partager un problème commun auquel j'ai été confronté à plusieurs reprises dans des projets PHP : une méthode...

Salut! Aujourd'hui, je souhaite partager un problème commun auquel j'ai été confronté à plusieurs reprises dans des projets PHP : une méthode pleine d'instructions if/else if qui gère différents types de commandes. Vous connaissez le type : énorme, illisible et presque impossible à étendre sans casser quelque chose. 😅

Dans cet article, je vais vous montrer comment refactoriser un tel enfer if-else en quelque chose de beaucoup plus propre en utilisant le modèle de stratégie. À la fin, vous verrez à quel point votre code peut devenir flexible, testable et maintenable.

1️⃣ Le problème : les longues chaînes If-Else

Imaginons que nous ayons une simple classe OrderProcessor :

class OrderProcessor { public function process(Order $order) { if ($order->type === 'digital') { echo "Traitement de la commande numérique\n"; // une logique spécifique au numérique } elseif ($order->type === 'physical') { echo "Traitement de l'ordre physique\n"; // logique spécifique au physique } elseif ($order->type === 'subscription') { echo "Traitement de la commande d'abonnement\n"; // logique spécifique à l'abonnement } else { throw new Exc...
[Courte citation de 8% de l'article original]
Loading...