5. Avantages et inconvénients▲
Un résumé de ce que le pattern Etat peut vous apporter, ainsi que les précautions à prendre.
5.1. Avantages▲
Facilite la rédaction des rapports
Grâce au pattern Etat, les rapports deviennent plus clairs et s'enrichissent
de schémas compréhensibles. Les descriptions des différents états de
l'application deviennent plus précises (on dispose pour chacun des états
d'une description détaillée de ce qu'il s'y passe).
Améliore la qualité globale des applications
Lors de la phase de conception, le schéma permet de suivre les différentes
étapes d'exécution du programme et de détecter très tôt les erreurs de
conception (ex: problème de protocole réseau). Dans les phases
d'implémentation et de test, pour chaque état on dispose des conditions
d'invariant qui doivent être respectées lorsque l'application se trouve
dans cet état. Il devient alors très simple d'élaborer des tests pour
savoir si ces conditions sont respectées. Enfin, grâce au pattern Etat,
l'implémentation devient plus claire et facile à tracer. Tout ceci contribue
largement à l'amélioration globale de la qualité de l'application développée
(surtout dans le cas de grosses applications).
Facilite la maintenance et améliore l'évolutivité
Il est très facile de tracer l'application utilisant des états. Il est
également extrêmement facile de rajouter de nouveaux états et de modifier
certaines transitions pour adapter l'application à de nouveaux besoins.
Ceci rend l'application plus évolutive et facile à maintenir.
5.2. Inconvénients▲
Multiplication des classes
Chaque état nécessite une classe, et donc tout autant de déclarations,
d'implémentation de constructeurs, de destructeurs, etc. En contrepartie, le
code est très bien organisé et compartimenté en classes et il devient facile
de retrouver les informations relatives à un comportement (ou de localiser
un bug).
Nécessite un temps d'adaptation
La programmation avec des états diffère sensiblement de la programmation
"classique" et utilise des mécanismes particuliers (toutes les opérations
sont déléguées à l'état courant, qui est lui-même chargé de modifier les
variables de l'objet appelant). Cela demande un petit temps d'adaptation.
Une fois que l'on a compris comment tout cela fonctionne, on est plus
réceptif aux bénéfices que l'on peut tirer de ces techniques. La difficulté
réside parfois à faire passer le message à ses collègues. Persévérez !
Section suivante: Domaines d'application du pattern Etat |