Patron de conception - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En informatique, un patron de conception ou motif de conception est un concept de génie logiciel destiné à résoudre les problèmes récurrents suivant le paradigme objet.

Les deux termes sont des traductions de l'expression anglophone design pattern, tentant d'exprimer la réutilisabilité d'un concept qu'on retrouve dans les patrons et les motifs.

Les patrons de conception décrivent des solutions standard pour répondre à des problèmes d'architecture et de conception des logiciels.

Tout comme les algorithmes, il ne s'agit pas de fragments de code source, puisque les patrons de conception sont le plus souvent indépendants du langage de programmation.

En revanche là où un algorithme s'attache à décrire d'une manière formelle comment résoudre un problème particulier, les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de mieux capitaliser l'expérience appliquée à la conception logicielle. Il a donc également une grande influence sur l'architecture logicielle d'un système.

But général

Le but général des patrons de conception est de minimiser les interactions qu'il peut y avoir entre les différentes classes (ou modules, plus généralement) d'un même programme. L'avantage de ces patrons est de diminuer le temps nécessaire au développement d'un logiciel et d'augmenter la qualité du résultat, notamment en appliquant 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érents acteurs de l'écriture d'un logiciel.

Ces patrons sont décrits sous une forme abstraite, sans s'attacher aux détails du problème à résoudre.

Formalisme

La description d'un patron de conception suit un formalisme fixe :

  • Nom
  • Description du problème à résoudre
  • Description de la solution : les éléments de la solution, avec leurs relations. La solution est appelée patron de conception.
  • Conséquences : résultats issus de la solution.

Ce formalisme aide surtout à mieux comprendre l'utilisation et la logique interne de chaque patron, mais ne correspond pas à l'usage habituel du terme. Le mot structure serait peut-être plus adapté.

Un aspect de construction plus important est l'orthogonalité: chaque patron doit correspondre à une approche différente, qui ne répète pas les idées ou stratégies présentes dans d'autres patrons. Cette qualité devrait permettre d'aider le concepteur à décortiquer un problème et à en résoudre chaque aspect d'une façon organisée, ainsi que de combiner les patrons pour construire une solution. Certains auteurs voient alors un manque d'orthogonalité dans les patrons GoF, tandis que d'autres en proposent encore davantage (Vlissides, Grand).

Histoire

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

Citations

  • « Chaque patron 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 patrons offrent la possibilité de capitaliser un savoir précieux né du savoir-faire d’experts » — Buschmann, 1996.
Page générée en 0.086 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise