TUTORIELS 
Les "design patterns": théorie et principaux motifs

Page 1 | 2

Dans le monde de l'orienté-objet, les design patterns se présentent comme un catalogue de méthodes de résolution de problèmes récurrents.
 (22 avril 2003)
 

La programmation orientée-objet (POO) est à l'heure actuelle la forme la plus en vogue de développement, principalement grâce à ses principes de réutilisabilité et d'hérédité. Depuis son apparition, nombre d'ouvrages ont abordé les meilleures manières d'utiliser la POO, et les "design patterns" (en français "motifs de conception" ou "solutions abstraites") sont, parmi celles-ci, une avancée majeure.

Petit historique
Inspiré des réflexions de l'architecte Christopher Alexander dans les années 70, le concept de design patterns a été développé dans un ouvrage de référence publié en 1995 par quatre auteurs, le "Gang of Four": Erich Gamma, Richard Helm, Ralph Johnson, et John Vlissides. Il y identifiait 23 motifs de conceptions, chacun offrant une solution à un problème récurrent de la conception orientée-objet. Cet ouvrage a véritablement lancé l'intérêt des théoriciens pour les motifs, et dès lors de nombreux autres ouvrages parurent, chacun recensant son lot de motifs, souvent basés sur d'autres plus anciens...

Définition
Dans le domaine de l'analyse et de la conception orientée-objet, un design pattern est une manière de construire la structure d'une classe. Plus généralement, un motif de conception est un
document qui décrit une solution générale à un problème qui revient souvent. Les motifs sont basés sur des expériences passées avec les mêmes structures.
Ainsi, au fil du temps, les développeurs se sont aperçus que certaines conceptions devenaient récurrentes face à certaines situations. Le grand mérite du Gang of Four est, outre d'avoir fait état de cette récurrence, d'avoir le premier formalisé ces motifs afin de les rendre plus facilement accessibles.

Les design patterns sont ainsi des techniques permettant d'augmenter la productivité en adoptant certaines structures établies et réutilisables.

En parlant des design pattern, il n'est jamais (ou rarement) question de code pur, mais de conception: on se trouve là au niveau le plus élevé de la programmation objet, et c'est pourquoi la productivité n'est pas seulement améliorée en ce qui concerne l'écriture du code, mais aussi, grâce à l'établissement d'un véritable catalogue de motifs, chacun ayant sa propre appellation (et définition), au niveau de la communication entre les développeurs, les équipes de développement et plus encore...

Un motif "prouvé" doit avoir établi sa capacité à amener à la bonne solution dans au moins trois cas précédents. De nombreux motifs ne "parleront" aux développeurs que s'ils ont déjà rencontré la situation précise du motif...

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page