Identifiant :
Mot de passe :

Patrons de conception

Etat

Diagramme de classes :

Diagramme de classes

Description :

Type :  Co  (Comportemental)
Intention : Permet à un objet de modifier son comportement, quand son état interne change. Tout se passe comme si l'objet changeait de classe.
Applicabilité : Utilisez l'Etat dans l'un des cas suivants :
- Le comportement d'un objet dépend de son état, et son comportement doit changer dynamiquement, en fonction de cet état.
- Les opérations comportent de grands pans entiers de déclarations conditionnelles fonctions de l'état de l'objet. Cet état est généralement désigné par une ou plusieurs constantes d'énumération. Souvent, plusieurs opérations différentes, contiendront la même structure conditionnelle. L'Etat place dans une classe séparée, chacune des branches de la condition. Ceci permet de traiter l'état de l'objet, comme un objet à part entière, qui peut varier indépendamment des autres objets.

Points forts :

  1. 1. Extensibilité
    1. 1.1 Factorisation de protocole pour tous les états
    2. 1.2 L'ajout ou la suppression d'un état n'implique pas de modification de code
  2. 2. Gestion simplifiée
    1. 2.1 Changement d'état possible à l'exécution sans destruction
    2. 2.2 Découplage du comportement de chaque état

Participants au patron :

Patrons abîmés :

  1. 1. Mauvaise classification
  2. 2. Switch caché

Problèmes :

  1. 1. Changement dynamique d'état
Les têtes de mule
Cédric BOUHOURS
Cédric BOUHOURS
Cédric BOUHOURS