Patron de conception

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

En informatique, et plus particulièrement en développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels [1].

Un patron de conception est issu de l'expérience des concepteurs de logiciels [2]. Il décrit un arrangement récurrent de rôles et d'actions joués par des modules d'un logiciel, et le nom du patron sert de vocabulaire commun entre le concepteur et le programmeur [3]. D'une manière analogue à un motif de conception en architecture, le patron de conception décrit les grandes lignes d'une solution, qui peuvent ensuite être modifiées et adaptées en fonction des besoins [4].

Les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de capitaliser l'expérience appliquée à la conception de logiciel. Ils ont une influence sur l' architecture logicielle d'un système informatique.

Le patron proxy.

Types de patrons

Les patrons de conception ne sont ni des patrons d'architecture ni des idiotismes de programmation.

  • Le patron d'architecture apporte des solutions sur la manière de concevoir l'organisation à grande échelle (architecture) d'un logiciel en faisant abstraction des détails. Il concerne la structure générale d'un logiciel, sa subdivision en unités plus petites, comporte des guides de bonnes pratiques et des règles générales qui ne peuvent pas être traduites directement en code source [5].
  • Le patron de conception suggère un arrangement, une manière d'organiser des modules ou des classes. Il décrit une organisation de classes fréquemment utilisée pour résoudre un problème récurrent. Le patron de conception parle d'instances, de rôles et de collaboration [5].
  • L'idiotisme de programmation est une construction spécifique à un langage de programmation, qui est une manière usuelle de mettre en œuvre une solution à un problème dans ce langage de programmation. Par exemple pour effectuer cent fois une opération, un programmeur en langage C utilise les instructions for (i = 0; i < 100; i++) pour sa ligne de code. L'utilisation d'un idiotisme par le programmeur lui évite d'avoir à remettre en question la structure détaillée du programme et améliore la qualité du produit [5].
Other Languages
Alemannisch: Entwurfsmuster
čeština: Návrhový vzor
interlingua: Patrono de designo
Bahasa Indonesia: Pola desain
italiano: Design pattern
Nederlands: Ontwerppatroon
srpskohrvatski / српскохрватски: Dizajn shema
Simple English: Design pattern
српски / srpski: Пројектни узорци
中文: 设计模式