Supposons que l'implémentation d'une classe "CAR" soit requise.Implémentation de classes pilotées par l'état
Maintenant, cette classe contient différents états comme « non mis à feu », « mis à feu », « désagrégé », « crevé », etc.,
La façon dont je regarde pour mettre en œuvre cette exigence est de avoir des drapeaux booléens appelés "propriétés" dans la classe et "vérifier l'état" en utilisant ces drapeaux booléens dans chaque fonction membre. Par exemple,
CAR.goRacing() { if(bIsPunctured) return ENUM_CANT_DRIVE; //Start the Engine... }
Cette implémentation, triviale si cela peut paraître, commence à devenir très compliqué lorsque le nombre d'états que l'objet expose augmente. J'ai également vu des occurrences où un seul état rend la maintenance de l'objet beaucoup trop lourde (je suis sûr que dans ce cas, je suis à blâmer pour mes compétences en programmation)
Existe-t-il un moyen standard d'implémenter un tel état ? -driven objet?
J'ai vu le Property Pattern de Steve Yeggey, mais je suis vraiment à court d'un exemple du monde réel!
Merci.