Retour à la leçonMission
Mission : dupliquer une validation de prix sur dix classes sans copier-coller
Remplacer une validation dupliquée par un descriptor réutilisable, puis choisir entre __init_subclass__ et métaclasse pour un auto-enregistrement de plugins.
Contexte
Dix classes différentes du projet (Produit, Commande, Facture...) redéfinissent chacune un setter presque identique pour vérifier qu'un attribut numérique reste positif, avec if valeur < 0: raise ValueError(...) copié-collé dix fois. Un développeur veut factoriser cette logique en un seul endroit, réutilisable sur n'importe quel attribut de n'importe quelle classe.
Tu dois écrire ce validateur une seule fois sous forme de descriptor, l'appliquer à deux classes différentes, puis choisir le bon outil pour un auto-enregistrement de plugins.