Motif de conception

Un article de Freepedia.


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éveloppement 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

  • « Chaque pattern décrit un problème qui se manifeste constamment dans notre environnement, et donc décrit le cœur de la solution à ce problème, d’une façon telle que l’on puisse réutiliser cette solution des millions de fois, sans jamais le faire deux fois de la même manière » Christopher Alexander - 1977.
  • « Les Patterns offrent la possibilité de capitaliser un savoir précieux né du savoir-faire d’experts » [Buschmann] - 1996.

Formalisme

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

  • Nom
  • Description du problème à résoudre
  • Description de la solution : les éléments de la solutions, avec leurs relations.
  • Conséquences : résultats issus de la solution.

Liste de patterns

On distingue 3 familles de patterns selon leur utilisation:

  • créationnels : ils définissent comment faire l'instanciation et la configuration des classes et des objets.
  • structuraux : ils définissent l'usage des classes et des objets dans des grandes structures ainsi que la séparation entre l'interface et l'implémentation.
  • comportementaux : ils définissent la manière de gérer les algorithmes et les divisions de responsabilités.

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 (MVC) 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



Views
Outils personels
Boîte à outils
Autres langues
Autres Liens