Design Patterns

Cette formation s’adresse aux développeurs souhaitant structurer leur code de façon claire, réutilisable et évolutive à l’aide des principaux Design Patterns (patrons de conception). Basée sur des cas concrets, elle permet d’intégrer les bonnes pratiques de conception logicielle, de favoriser la maintenabilité du code et de mieux collaborer dans des projets à forte complexité.

Pour qui ?

Développeurs expérimentés, architectes logiciels, tech leads souhaitant structurer leur code, améliorer la maintenance et la réutilisabilité avec les modèles de conception classiques (Singleton, Factory, Observer…).

Introduction aux Design Patterns 

  • Définition, historique et utilité des design patterns 
  • Présentation du catalogue GoF (Gang of Four) 
  • Avantages, limites et contextes d’utilisation 
  • Classification : patterns de création, de structure, de comportement 

Bonnes pratiques de conception orientée objet 

  • Principe SOLID 
  • Couplage faible et haute cohésion 
  • Encapsulation, délégation, séparation des responsabilités 
  • Anti-patterns courants à éviter 

Patterns de création 

  • Singleton : instance unique et gestion centralisée 
  • Factory Method : instanciation flexible et découplée 
  • Abstract Factory : familles d’objets interconnectés 
  • Builder : construction progressive d’objets complexes 
  • Prototype : clonage d’objets existants 

Patterns structurels 

  • Adapter : rendre compatibles deux interfaces 
  • Decorator : ajouter dynamiquement des fonctionnalités 
  • Composite : structure arborescente d’objets 
  • Proxy : contrôle d’accès à un objet réel 
  • Facade : simplifier une interface complexe 

Patterns comportementaux 

  • Observer : gestion d’événements et notifications 
  • Strategy : variation dynamique d’algorithmes
  • Command : encapsulation des actions à exécuter 
  • State : modification du comportement selon l’état 
  • Template Method : algorithme standard avec étapes personnalisables 

Mise en œuvre dans les langages courants 

  • Syntaxe et implémentations en Java, C#, Python ou PHP selon le contexte
  • Utilisation avec les interfaces, classes abstraites, lambda, génériques 
  • Intégration dans des architectures MVC, services, API ou bibliothèques 
  • Comprendre le rôle des design patterns dans la conception d’applications robustes
  • Identifier et implémenter les principaux patterns de création, structure et  comportement 
  • Adopter une architecture logicielle claire, évolutive et conforme aux bonnes  pratiques
  • Maîtrise d’un langage orienté objet

Modalités de mise en œuvre de l’action de formation

Au démarrage de la session, le formateur échangera avec le(s) stagiaire(s) afin d’effectuer une analyse de leurs attentes, de leurs besoins et de leurs acquis.

Moyens pédagogiques, techniques et d’encadrement :

  •  Moyens et méthodes pédagogiques :
    o Apports théoriques et mises en pratique.
    o Chaque point du programme fait l’objet d’une explication théorique appuyée d’une démonstration. Elle est suivie d’une mise en pratique par le biais d’exercices concrets
  •  Moyens techniques :
    o Un ordinateur équipé des logiciels et outils nécessaires à la réalisation de la formation
  •  Moyens d’encadrement :
    o Formateur possédant plusieurs années d’expérience
    o Chargé(e) du projet Numerica

Moyen de suivre l’exécution de la formation :

  • Une feuille d’émargement sera signée par les stagiaires à chaque début de session (matin et après-midi)

Moyens permettant d’évaluer les résultats de la formation :

  • Une évaluation de la formation sera complétée par le stagiaire au terme de la session
  • Le formateur évaluera les acquis des stagiaires tout au long de la formation par des mises en situations pratiques.
Durée : 5 jours
Tarif : 3 051 € HT

Dijon :

Session 1 :

Du 6 au 10/10/2025

Montbéliard :

Session 1 :

Du 17 au 21/11/2025

Cette formation peut-être réalisée en session sur-mesure.

Contactez-nous pour construire ensemble une formation adaptée à vos besoins.