Motif de conception

En génie informatique, un motif de conception (Design pattern en anglais) est un concept issu de la programmation orientée objet, destiné à résoudre les problèmes récurrents.

Ce sont donc des solutions standards pour répondre à des problèmes d'architecture et de design des logiciels. À la différence d'un algorithme qui s'attache à décrire d'une manière formelle comment résoudre un problème particulier, les design pattern décrivent des procédés de conceptions généraux. On peut considérer un design pattern comme une formalisation de bonnes pratiques, ce qui signifie qu'on privilégie les solutions éprouvées (un design pattern n'est considéré comme « prouvé » qu'une fois qu'il a été utilisé avec succès dans trois cas).

Il ne s'agit pas de fragments de code, puisque les design patterns sont le plus souvent indépendants du langage de programmation, mais d'une méthode de conception de classe, c’est-à-dire d'une manière standardisée de résoudre un problème qui s'est déjà posé par le passé. Le concept de design pattern a donc une grande influence sur l'architecture logicielle d'un système.

On peut donc considérer les design patterns comme un outil de capitalisation de l'expérience appliqué à la conception logicielle.

Sommaire

But général

Le but général des motifs de conceptions est de minimiser les interactions qu'il peut y avoir entre les différentes classes d'un même programme. L'avantage de ces patterns est de diminuer le temps nécessaire au dévelopement d'un logiciel, notamment en apportant des solutions déjà existantes à des problèmes courants de conception. Ils sont là pour éviter la présence d'anti-patrons. Ils sont aussi utiles pour définir un vocabulaire commun entre les différentes acteurs de l'écriture d'un logiciel.

Ces patterns sont décrits sous une forme générique, sans s'attacher aux détails du problème à résoudre.

Histoire

Formalisé dans le livre du « Gang of Four » (Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides) intitulé « Design Patterns - Elements of Reusable Object-Oriented Software » (voir bibliographie) en 1995, les motifs de conception tirent leur origine des travaux de l'architecte Christopher Alexander dans les années 70.

Citations

Formalisme

La description d'un design pattern suit un formalisme fixe :

Liste de patterns

On distingue 3 familles de patterns selon leur utilisation:

Motifs de conception les plus répandus

Les motifs de conception les plus répandus sont au nombre de 23. Le motif Modèle-Vue-Contrôleur est une combinaison des motifs Observateur, Stratégie et Composite.

Création

Structure

Comportement

Modèle-Vue-Contrôleur

Thème connexe

Liens externes

GCN (Game Creators Network) : prototype, singleton, composite, façade, observateur, visiteur

Bibliographie

See also: Motif de conception, 1995, 1999, Algorithme, Anglais, Années 1970, Anti-patron, Antipattern, Architecture, Commande (Motif de conception)