V. Avantages et inconvénients▲
Un résumé de ce que le pattern Etat peut vous apporter, ainsi que les précautions à prendre.
V-A. 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.
V-B. 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 |