Retour aux cas pratiques
SOLID PrinciplesAvancé
Élimination d'un switch évolutif violant Open/Closed Principle
Scénario
Contexte Un module PricingService calcule les tarifs selon le type de produit. Le Problème Chaque nouveau type produit impose modification du switch central. Code actuel switch(product.type) { case "A": ... case "B": ... } Contraintes Refactorer vers une solution polymorphique ou basée sur stratégie injectable permettant extension sans modification du service principal. Livrable attendu Une architecture extensible conforme à l’OCP.
Compétences ciblées
solidocppolymorphismstrategyrefactoring