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
|