Premiers pas avec les modèles de conception

Introduction

Selon [Wikipédia][1] :

[A] modèle de conception de logiciel est une solution générale réutilisable à un problème courant dans un contexte donné de conception de logiciel. Ce n’est pas une conception finie qui peut être transformée directement en code source ou machine. Il s’agit d’une description ou d’un modèle de résolution d’un problème qui peut être utilisé dans de nombreuses situations différentes. Les modèles de conception sont des meilleures pratiques formalisées que le programmeur peut utiliser pour résoudre des problèmes courants lors de la conception d’une application ou d’un système.

(Récupéré : 13/10/2016)

Il existe de nombreux modèles de conception de logiciels reconnus, et de nouveaux modèles sont régulièrement proposés. D’autres sujets couvrent bon nombre des modèles les plus courants, et l’article de Wikipedia fournit une liste plus complète.

De même, il existe différentes manières de classer les modèles de conception, mais la classification d’origine est :

  • Modèles de création : [Factory][2], [Builder][3], [Singleton][4], etc.
  • Modèles structurels : [Adapter][6], [Composite][7], Proxy, etc.
  • Modèles comportementaux : [Itérateur][8], [Stratégie][5], [Visiteur][9], etc.
  • Modèles de concurrence : ActiveObject, Monitor, etc.

L’idée de modèles de conception a été étendue aux * modèles de conception spécifiques à un domaine * pour des domaines tels que la conception d’interface utilisateur, la visualisation de données, la conception sécurisée, la conception Web et la conception de modèles commerciaux.

Enfin, il existe un concept connexe appelé * modèle d’architecture logicielle * qui est décrit comme étant l’analogue des modèles de conception appliqués aux architectures logicielles.

[1] : https://en.wikipedia.org/wiki/Software_design_pattern [2] : https://www.wikiod.com/fr/design-patterns/usine [3] : https://www.wikiod.com/fr/design-patterns/modele-de-constructeur [4] : https://www.wikiod.com/fr/design-patterns/singleton [5] : https://www.wikiod.com/fr/design-patterns/modele-de-strategie [6] : https://www.wikiod.com/fr/design-patterns/adaptateur [7] : https://www.wikiod.com/fr/design-patterns/motif-compose [8] : https://www.wikiod.com/fr/design-patterns/modele-diterateur [9] : https://www.wikiod.com/fr/design-patterns/modele-de-visiteur