Dans ce tutoriel, je vous décris quelques design patterns classiques. J'essaie pendant ces descriptions d'architectures logicielles éprouvées, de vous faire découvir et apprécier ces techniques de développements,de vous donner envie de vous documenter autour de ces techniques. Un prérequis à ces articles est évidemment le langage UML, tout au moins les diagrammes de classes, lesquels sont nécessaires pour se détacher et présenter ces design patterns hors du contexte d'un langage particulier (java, c++, .Net, pascal, etc.) Comme toujours je fournis des exemples d'implémentation en java. |
Sépare et découple une abstraction et son implémentation permettant à chacune d'évoluer indépendamment. |
Ajoute des fonctionnalité à un objet de manière entièrement dynamique. Parfois plus efficace que l'héritage, il permet d'étendre les capacités de plusieurs classes sans en modifier les sources. |
S'assure de l'unicité d'une instance de classe et évidemment le moyen d'accéder à cette instance unique. |
Objet léger qui remplace le véritable objet complet. Il est fabriqué pour soulager les ressources lorsque l'objet traité en consomme trop. |
Permet de modifier le comportement d'un objet lorsque son état est modifié. Tout est mis en place pour donner l'impression que l'objet lui-même a été modifié. |
Encapsule les accès à une API qui ne correspondatait pas à vos normes ou a vos besoins... |
Unifie et simplie l'interface d'un sous système cohérent et éventuellement autonome. Forme donc un point d'entrée simplifié dans une API. |
Dissocie le processus de construction d'un objet complexe de la structure de représentation de cet objet. |
Fournit un processus de construction de familles d'objets apparentés et cohérents. |
Permet de modifier le comportement d'un objet lorsque son état est modifié. Tout est mis en place pour donner l'impression que l'objet lui-même a été modifié. |
Et d'autres articles à paraître à propos des design patterns, et surtout sur d'autres design patterns... |