I. INTRODUCTION▲
À l'origine les Design Patterns (Patron de conception en Français) sont issus des travaux de l'architecte Christopher Alexander. Ces travaux sont une capitalisation d'expérience qui a mis en évidence des patrons en architecture des bâtiments.
Sur le même principe, en 1995, le livre « Design Patterns -- Elements of Reusable Object-Oriented Software » du GoF, Gang Of Four (Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides), présente 23 Design Patterns. Dans ce livre, chacun des Design Patterns est accompagné d'exemple en C++ et Smalltalk.
En architecture des logiciels, un Design Pattern est la description d'une solution à un problème de conception. Pour faire l'objet d'un Design Pattern, une solution doit être réutilisable. On dit que le Design Pattern est « prouvé » s'il a pu être utilisé dans au moins 3 cas.
Les Design Patterns permettent d'améliorer la qualité de développement et d'en diminuer la durée. En effet, leur application réduit les couplages (points de dépendance) au sein d'une application, apporte de la souplesse, favorise la maintenance et d'une manière générale aide à respecter de « bonnes pratiques » de développement.
Les Design Patterns sont classés en trois catégories :
- créationnels : qui définissent des mécanismes pour l'instanciation et/ou l'initialisation d'objets ;
- structuraux : qui organisent les interfaces/classes entre elles ;
- comportementaux : qui définissent la communication entre les classes et leurs responsabilités.
Le but de ce document est de présenter succinctement chaque Design Pattern du GoF et d'y associer un exemple d'implémentation Java.
II. BIBLIOGRAPHIE▲
Design Patterns -- Elements of Reusable Object-Oriented Software : il s'agit du livre écrit par le « Gang of Four ». Il présente toutes les subtilités des Design Patterns. C'est sans doute le livre le plus complet sur le sujet. Le lien conduit à la critique de l'édition en Anglais. Les critiques sur l'édition en Français trouvées par ailleurs sur Internet indiquent des erreurs de traduction. J'ai utilisé le livre en Anglais pour la plupart de mes recherches et vérifications.
Design Patterns par la pratique : livre très facile à lire. Il présente comme inconvénient de ne pas couvrir tous les Design Patterns du GoF. Mis à part cela, il est très clair dans l'explication des Design Patterns qu'il présente. Et il est en Français ;-).
III. AUTRES RESSOURCES SUR DEVELOPPEZ.COM▲
Le dictionnaire des développeurs (partie conception)
Description de design patterns par Sébastien MERIC
Souplesse et modularité grâce aux Design Patterns par Pierre Caboche