Design pattern – Patron de conception

Un patron de conception est une solution réutilisable, éprouvée et formalisée à un problème récurrent de conception logicielle.

Il ne s’agit pas d’un morceau de code prêt à l’emploi, mais d’un modèle conceptuel décrivant comment structurer les interactions entre classes ou objets pour rendre le code plus flexible, maintenable, lisible et évolutif.

Objectif :
« Résoudre une problématique structurelle sans réinventer la roue — en s’appuyant sur des schémas validés par la communauté. »

Caractéristiques communes

  • Indépendant du langage : applicable en Java, Python, C#, JavaScript, etc.
  • Abstrait : décrit une architecture, pas une implémentation figée.
  • Contextuel : chaque patron répond à un problème spécifique dans un contexte donné.
  • Non obligatoire : un bon code n’a pas besoin de patrons — mais ils aident à éviter les pièges classiques.

Exemples emblématiques

PatronProblème résoluPrincipe
MVC (Modèle-Vue-Contrôleur)Séparer préoccupations dans une interface utilisateurModèle : données et logique métier<br>- Vue : affichage<br>- Contrôleur : gestion des entrées
ObserverNotifier automatiquement des changements d’étatUn sujet tient une liste d’observateurs qu’il alerte lorsqu’il change
DécorateurAjouter dynamiquement des responsabilités à un objetEncapsule un objet dans un autre du même type pour étendre son comportement
StateFaire varier le comportement selon l’état interneChaque état est une classe ; l’objet délègue à l’état courant
Factory MethodDéléguer la création d’objets à des sous-classesUne méthode abstraite instancie des objets concrets selon le contexte
Abstract FactoryCréer des familles d’objets liésUne fabrique abstraite produit plusieurs types compatibles entre eux
Injection de dépendancesRéduire le couplage entre composantsLes dépendances sont fournies de l’extérieur (constructeur, setter, interface)

À retenir

  • Un patron n’est pas une recette magique : mal appliqué, il peut complexifier inutilement le code.
  • Il vaut mieux comprendre le pourquoi que copier le comment.
  • Dans les architectures modernes (microservices, fonctions serverless), certains patrons évoluent ou deviennent obsolètes.

Synonymes / termes associés

  • Modèle de conception
  • Design pattern (anglicisme courant)
  • Schéma architectural (à ne pas confondre avec les architectural patterns comme Hexagonal, CQRS, etc.)

Ressource

Catalogue des patrons de conception

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.