Modèles de conception

Modèles de conception

Patron de conception

Page d'aide sur l'homonymie Pour les articles homonymes, voir Patron.

Un patron de conception (design pattern en anglais) est un concept de génie logiciel destiné à résoudre les problèmes récurrents suivant le paradigme objet. En français on utilise aussi le terme motif de conception qui est une traduction alternative de design pattern, perçue comme incorrecte par certains.

Les patrons de conception décrivent des solutions standard pour répondre à des problèmes d'architecture et de conception 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 patrons de conception décrivent des procédés de conception généraux. On peut considérer un patron de conception comme une formalisation de bonnes pratiques, ce qui signifie qu'on privilégie les solutions éprouvées.

Il ne s'agit pas de fragments de code, puisque les patrons de conception sont le plus souvent indépendants du langage de programmation, mais d'une méthode de conception, 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 patron de conception a donc une grande influence sur l'architecture logicielle d'un système.

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

Sommaire

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.

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.

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).

Liste des patrons de conception du GoF

On distingue trois familles de patrons de conception selon leur utilisation :

  • de construction : ils définissent comment faire l'instanciation et la configuration des classes et des objets.
  • structuraux : ils définissent comment organiser les classes d'un programme dans une structure plus large (séparant l'interface de l'implémentation).
  • comportementaux : ils définissent comment organiser les objets pour que ceux-ci collaborent (distribution des responsabilités) et expliquent le fonctionnement des algorithmes impliqués.

Patrons de conception les plus répandus du GoF

Les patrons de conception les plus répandus sont au nombre de 23. Ils sont couramment appelés « patrons GoF » (de « Gang of Four », d'après les quatre créateurs du concept)[1]. Le patron Modèle-Vue-Contrôleur (MVC) est une combinaison des patrons Observateur, Stratégie et Composite.

Création

Structure

Comportement

Patron GRASP

Les patrons GRASP sont des patrons créés par Craig Larman qui décrivent des règles pour affecter les responsabilités aux classes d'un programme orienté objets pendant la conception, en liaison avec la méthode de conception BCE (pour « Boundary Control Entity » - en français MVC « Modèle Vue Contrôleur »)[2] :

  • Responsabilités
  • Expert
  • Créateur
  • Faible couplage
  • Forte cohésion
  • Contrôleur
  • Polymorphisme
  • Indirection
  • Fabrication pure

Patron d'entreprise (ou patron de Martin Fowler)

Martin Fowler, dans son livre Entreprise Design Pattern, présente aussi des séries de patron de conception courants. Par exemple, on y retrouve les patrons de couplage entre un modèle objet et une base de donnée relationnelle. Par exemple, différents patrons pour le polymorphisme. On y retrouve les patrons Optimistic Offline Lock et Pessimistic Offline Lock.

Il s'agit de patrons de base, concrets.

Autres patrons de conception

Thème connexe

Sur les autres projets Wikimedia :

Références

  1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (trad. Jean-Marie Lasvergères), Design Patterns - Catalogue de modèles de conceptions réutilisables, Vuibert, France, 1999, 490 p. (ISBN 2-71178-644-7) [détail des éditions] 
  2. UML 2 et les Design Patterns - Craig Larman (3e édition) ISBN 2744070904

Bibliographie

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Patron de conception ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Modèles de conception de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Conception De Produit — La théorie de la conception de produit a pour objet d expliciter et de fournir des méthodes et outils au développement, depuis les phases d invention jusqu à celles de production et de maintenance, d objets ou de services. Elle est intimement… …   Wikipédia en Français

  • Conception de produit — La conception de produit désigne les efforts collectifs destinés à créer des objets, des équipements, des techniques, voire des systèmes sociaux qui soient à la fois inédits et conformes aux valeurs ou aux désirs de l’époque. Dans le monde… …   Wikipédia en Français

  • CONCEPTION ASSISTÉE PAR ORDINATEUR — La conception assistée par ordinateur, ou C.A.O., peut être considérée comme l’ensemble des aides informatiques aux bureaux d’études et aux bureaux des méthodes. Elle concerne donc le processus conception fabrication depuis l’élaboration du… …   Encyclopédie Universelle

  • Conception Assistée Par Ordinateur — Pour les articles homonymes, voir CAO. La conception assistée par ordinateur (CAO) comprend l ensemble des logiciels et des techniques de modélisation géométrique permettant de concevoir, de tester virtuellement à l aide d un ordinateur et des… …   Wikipédia en Français

  • Conception assistee par ordinateur — Conception assistée par ordinateur Pour les articles homonymes, voir CAO. La conception assistée par ordinateur (CAO) comprend l ensemble des logiciels et des techniques de modélisation géométrique permettant de concevoir, de tester virtuellement …   Wikipédia en Français

  • Conception D'interface Écologique — La conception d’interface écologique (EID) est une méthode de conception d’interface qui est apparue spécifiquement pour les systèmes sociotechniques complexes, temps réel, et dynamique. Elle a été appliqué dans divers domaines dont le contrôle… …   Wikipédia en Français

  • Conception d'Interface Ecologique — Conception d interface écologique La conception d’interface écologique (EID) est une méthode de conception d’interface qui est apparue spécifiquement pour les systèmes sociotechniques complexes, temps réel, et dynamique. Elle a été appliqué dans… …   Wikipédia en Français

  • Conception d'interface ecologique — Conception d interface écologique La conception d’interface écologique (EID) est une méthode de conception d’interface qui est apparue spécifiquement pour les systèmes sociotechniques complexes, temps réel, et dynamique. Elle a été appliqué dans… …   Wikipédia en Français

  • Conception De Logiciel Interactif — La conception de logiciel interactif (ou conception d IHM, ou conception d interface) est l activité qui vise à définir le fonctionnement d un produit logiciel destiné à être utilisé par une ou plusieurs personnes. C est un cas particulier de la… …   Wikipédia en Français

  • Conception mecanique assistee par ordinateur — Conception mécanique assistée par ordinateur Représentation géométrique tridimensionnelle d un modèle réduit de véhicule technique La conception mécanique assistée par ordinateur relève de la conception assistée par ordinateur appliquée au… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”