Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
E-commerce #4 : Stratégies de reduction
Le patron Strategy permet d'echanger des algorithmes sans changer le code qui les utilise. C'est comme avoir plusieurs telecommandes pour la meme tele : chacune fait les choses differemment, mais elles ont toutes les memes boutons.
En Python, on utilise ABC (Abstract Base Class) pour definir l'interface commune :
from abc import ABC, abstractmethod
class Stratégie(ABC): @abstractmethod def executer(self, données): pass
Une classe abstraite ne peut pas etre instanciee directement. Il faut créer des sous-classes qui implementent les méthodes abstraites.
Crée une classe abstraite StratégieReduction avec une méthode abstraite appliquer(total) -> Decimal.
Crée deux stratégies concretes : - ReductionPourcentage(pct) : reduit de pct pourcent (ex: 10 -> moins 10 pourcent) - ReductionFixe(montant) : reduit d'un montant fixe (le total ne peut pas devenir negatif)
Exemple : r = ReductionPourcentage(10) r.appliquer(Decimal('100')) # Decimal('90')