Design Patterns : Conception avec les Design Patterns
Choisissez et appliquez les design patterns à partir de problèmes de conception observables. Vous comparez les compromis et conduisez un refactoring progressif protégé par des tests de comportement.
Développeurs et concepteurs logiciels souhaitant améliorer la conception objet et conduire des refactorings.
Prérequis
Les participants à cette formation Design Patterns doivent disposer d’une solide expérience en programmation orientée objet (Java, C++...). Une confrontation préalable à l’un de ces langages vous aura permis d’assimiler les problématiques de développement et de conception les plus courantes. Les bénéfices des design patterns en seront d’autant plus appréciés.
Des compétences à mettre en pratique
Objectifs pédagogiques
Connaître l’origine, la philosophie et l’utilité des Design Patterns
Connaître les trois grandes familles de patterns et les principaux patrons au sein de chacune de ces familles
Savoir identifier, pour un problème donné, le patron de conception le plus à même de solutionner le problème
Savoir appliquer de manière concrète le design pattern ainsi identifié
Votre progression, jour après jour
Programme détaillé
6 séquences · 21 heures indicatives · ateliers et évaluation
Refactorer un module de tarification évolutif en choisissant des design patterns seulement lorsqu'ils simplifient un problème réel.
Préparer votre formation et découvrir la méthode
Préparer la formation
Programmation objet dans un langage maîtrisé ; petit projet avec tests de comportement fournis pour le laboratoire.
Apports illustrés, exercices progressifs, ateliers sur un cas fil rouge et retour argumenté sur les productions. Les ateliers et l'évaluation font partie des heures indiquées.
Jour 01Reconnaître un problème de conception7 h · 2 séquences avec mise en pratique
Séquence 1 · 3 h 30
Reconnaître un problème de conception
Repérer couplage, duplication et responsabilités mêlées.
Distinguer patron, principe de conception et recette automatique.
Formuler les variations que le logiciel doit supporter.
Repérer couplage, responsabilités dispersées et points de variation avant de choisir un pattern.
Notions et méthodes en détail
Repérer duplication, couplage, changement divergent et responsabilité trop large.
Relier principe de substitution, inversion de dépendance et contrat testé.
Distinguer besoin de variation réel et complexité ajoutée par anticipation.
Atelier prévuAnalyser un module de tarification et définir trois changements futurs avant de choisir une solution.
Livrable attenduDiagnostic de conception et critères de choix.
Vérification en atelierLe diagnostic formule le problème avant de nommer un pattern.
Pour aller plus loin
Justifier l’absence de pattern quand une solution simple suffit.
Séquence 2 · 3 h 30
Séparer la création des objets
Comparer Factory Method, Abstract Factory et Builder.
Encapsuler construction complexe et dépendances variables.
Discuter limites des singletons et de l'état global.
Préserver les invariants dès la construction, injecter les dépendances et distinguer configuration d’objet et sélection de sa famille concrète.
Notions et méthodes en détail
Comparer Factory Method, Abstract Factory et Builder selon variantes et construction progressive.
Séparer décision de création et code consommateur avec une interface stable.
Examiner les risques d’état global et de dépendances cachées d’un Singleton.
Atelier prévuRemplacer une construction dispersée d'objets par une fabrique puis tester une nouvelle famille de tarifs.
Livrable attenduImplémentation de création et tests d’invariants.
Vérification en atelierLe client accepte une nouvelle variante sans modifier sa logique métier.
Pour aller plus loin
Faire évoluer une famille d’objets sans propager des conditions partout.
Jour 02Composer les structures7 h · 2 séquences avec mise en pratique
Séquence 3 · 3 h 30
Composer les structures
Utiliser Adapter pour une interface incompatible.
Comparer Decorator, Facade et Composite selon le besoin.
Éviter couches d'abstraction sans bénéfice mesurable.
Distinguer Adapter, Decorator, Facade et Composite selon les relations recherchées.
Notions et méthodes en détail
Comparer Adapter, Facade, Decorator et Composite à partir de leurs collaborations.
Distinguer adaptation de contrat et ajout de responsabilité autour d’un objet.
Évaluer profondeur d’imbrication, transparence et coût de compréhension.
Atelier prévuBrancher un fournisseur de prix externe via un adaptateur et conserver les tests du contrat interne.
Livrable attenduStructure refactorisée et diagramme de dépendances.
Vérification en atelierLe schéma montre précisément qui délègue à qui et pourquoi.
Pour aller plus loin
Ajouter une capacité sans modifier le contrat attendu par les clients.
Séquence 4 · 3 h 30
Faire varier les comportements
Comparer Strategy, State et Template Method.
Organiser notifications avec Observer et responsabilités explicites.
Encapsuler une action avec Command si annulation ou journalisation l'exigent.
Comparer Strategy, State, Observer et Command selon variabilité et temporalité.
Notions et méthodes en détail
Appliquer Strategy, State, Observer ou Command à un changement de comportement identifié.
Distinguer variation d’algorithme et transition d’état métier.
Prévoir ordre des notifications, erreurs et cycle de vie des abonnements.
Atelier prévuAjouter une stratégie de remise et une évolution d'état de commande sans empiler des conditions globales.
Livrable attenduComportements interchangeables et scénarios testés.
Vérification en atelierLes transitions ou notifications sont testées sans dépendance à un ordre implicite.
Pour aller plus loin
Traiter ordre des événements et effets secondaires dans un exemple concret.
Jour 03Vérifier les compromis7 h · 2 séquences avec mise en pratique
Séquence 5 · 3 h 30
Vérifier les compromis
Mesurer lisibilité, dépendances et coût d'extension.
Tester par contrats et cas de comportement.
Repérer surconception et abstraction prématurée.
Évaluer lisibilité, extensibilité, allocation et complexité induite par les patterns.
Notions et méthodes en détail
Comparer solution directe et solution avec pattern sur lisibilité, extension et tests.
Vérifier substitution et invariants des implémentations concurrentes.
Repérer surconception et retirer une abstraction sans utilité démontrée.
Atelier prévuRelire deux solutions au même besoin et supprimer un pattern qui complique inutilement l'exemple.
Livrable attenduMatrice de compromis et décision documentée.
Vérification en atelierL’argumentaire expose aussi le coût introduit par le pattern choisi.
Pour aller plus loin
Retirer une abstraction devenue coûteuse sans casser le comportement.
Séquence 6 · 3 h 30
Conduire un refactoring progressif
Protéger le comportement avant la modification.
Modifier une responsabilité à la fois.
Documenter l'intention et les alternatives rejetées.
S’appuyer sur tests de caractérisation, petites étapes et interfaces de transition.
Notions et méthodes en détail
Écrire tests de caractérisation avant de déplacer responsabilités et dépendances.
Procéder par petites transformations conservant les interfaces utiles.
Documenter décision, alternatives et point de variation effectivement obtenu.
Atelier prévuLivrer le module refactoré et démontrer l'ajout d'une règle tarifaire avec un nombre limité de modifications.
Livrable attenduPlan de refactoring et historique des vérifications.
Vérification en atelierLe comportement reste stable et la nouvelle variante se branche au point prévu.
Pour aller plus loin
Conduire une migration tout en conservant la compatibilité des appels existants.
Mettre vos acquis à l’épreuve
Évaluation finale prévue
Mise en situation individuelle et restitution commentée, incluses dans la dernière séquence. Durée indicative : 60 minutes.
Critères de réussite
Chaque pattern répond à une variation identifiée.
Les tests confirment la conservation du comportement.
Le participant explique le coût de sa conception et une alternative plus simple.
Adaptation et validation pédagogique. Version enrichie proposée, à valider par le formateur. Répartition pédagogique proposée sur une base de 7 heures par jour, pauses exclues. À ajuster avec le formateur au positionnement initial. Les approfondissements « Pour aller plus loin » sont sélectionnés par le formateur selon le positionnement et le temps disponible ; ils ne constituent pas des heures supplémentaires garanties.
Les ateliers décrivent les travaux prévus. Leurs fichiers, corrigés et évaluations en ligne sont à préparer, sauf ressources explicitement disponibles dans le module pilote.
Références pour approfondir
Documentation des organismes et éditeurs. La progression et les ateliers sont une rédaction originale pour Beyond Expertise.
Le centre doit confirmer les prérequis, le programme final, les dates, les horaires et le tarif avant inscription. Le délai d’accès dépend des disponibilités et du besoin. L’ouverture d’une session et la disponibilité d’un cours e-learning sont confirmées avant inscription.
Les ateliers, méthodes et évaluations du programme sont proposés pour validation pédagogique. Les supports effectivement disponibles sont indiqués dans la section « Contenu e-learning ».
Le parcours ne délivre pas de diplôme ni de certification professionnelle. Aucune éligibilité CPF ou prise en charge n’est garantie. Toute préparation à un examen externe devra faire l’objet d’informations et d’habilitations vérifiées.
Les objectifs et prérequis sont disponibles. Les leçons, supports et évaluations de ce parcours ne sont pas encore intégrés dans cet espace. Le programme détaillé ci-dessus décrit les apprentissages et les ateliers prévus.
Origine des informations et statut du programme
Durée, niveau, modalités, objectifs et tarif relevés sur le site officiel le 11 septembre 2026. Le déroulé détaillé a été enrichi par Beyond Expertise. Validation pédagogique du formateur à réaliser avant animation.