- Cours pratique
- Informatique
Formation Design Patterns : Conception avec les Design Patterns
Connaître les patterns créationnels, comportementaux, structuraux...

- Durée
- 5 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Design Patterns
Issus à l'origine de l'architecture, les design patterns (en français : « patron de conception ») se sont progressivement élargis à la programmation un peu avant les années 2000. Face à des problématiques de conception récurrentes (indépendamment du langage utilisé), il a très vite été démontré que la conceptualisation des méthodes de résolution revêt plusieurs avantages majeurs : d'une part, elle accélère le processus de développement en fournissant des maquettes éprouvées sur lesquelles les développeurs peuvent s'appuyer ; d'autre part, elle anticipe les problèmes à venir, expérimentés dans d'autres projets.
Ces patterns peuvent être regroupée en trois grandes familles : les patrons créateurs, définissant l'instanciation et la configuration des classes et objets ; les patrons structuraux, définissant l'organisation des classes d'un programme dans un modèle plus large ; enfin, les patrons comportementaux, dédiés quant à eux à la collaboration des objets impliqués ainsi qu'au fonctionnement des algorithmes.
Cette formation Design Patterns vous propose un tour d'horizon pour chacune de ces grandes familles, avec un rappel préalable sur la programmation orientée objet et l'ULM. La formation se conclut enfin avec une présentation des GRASP patterns.

Objectifs pédagogiques
Objectifs pédagogiques :
À l'issue de cette formation Design Patterns, vous aurez acquis les connaissances et compétences nécessaires pour :
- 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é
Objectifs opérationnels
Objectifs opérationnels :
Connaître les patrons de conception (Design Patterns) majeurs et savoir les conseiller à ses équipes ou les mettre en œuvre en tant que développeur.
Programme
Contenu du cours, module par module
7 modules
- Notion d’objet, de classe, d’encapsulation,
- Les relations d’héritage, d’implémentation d’interface et les associations
- Les diagrammes UML
- La genèse avec le Gang Of Four
- Rôle et intérêts
- Le catalogue, son organisation, son évolution
- Typologie des patterns
- Identifier et formaliser le problème
- Trouver le pattern répondant au problème, évaluer les conséquences
- Créer sa solution en appliquant le pattern
Atelier 1
Description : Relecture collective du pattern FactoryMethod
- Portée des patterns de création
- Le pattern Singleton (Singleton)
- Le pattern Fabrique (Factory Method)
- Le pattern Fabrique Abstraite (Abstract Factory), distinction avec le pattern précédant
- Le pattern Monteur (Builder)
- Le pattern Prototype (Prototype)
Atelier 2
Description : 3 formulations de problèmes
Identification collective des patterns de création
Implémentation des patterns en Java ou C++
- Portée des patterns structuraux
- Le pattern Composite (Composite)
- Le pattern Adaptateur (Adapter)
- Le pattern Décorateur (Decorator)
- Le pattern Façade (Facade)
- Le pattern Proxy (Proxy)
- Le pattern Poids-mouche (Flyweight)
- Le pattern Pont (Bridge)
Atelier 3
Description : 3 formulations de problèmes
Identification collective des patterns à appliquer
Implémentation des patterns en Java ou C++
- Portée des patterns comportementaux
- Le pattern Itérateur (Iterator)
- Le pattern Stratégie (Strategy)
- Le pattern Patron de méthode (Template Method)
- Le pattern État (State)
- Le pattern Observateur (Observer), déclinaison avec le pattern Reactor
- Le pattern Commande (Command)
- Le pattern Visiteur (Visitor)
- Le pattern Chaîne de responsabilité (Chain of responsibility)
- Le pattern Interpréteur (Interpreter)
- Le pattern Médiateur (Mediator)
- Le pattern Mémento (Memento)
Atelier 4
Description : 3 formulations de problèmes
Identification collective des patterns à appliquer
Implémentation des patterns en Java ou C++
Travaux pratiques
- Les principes fondamentaux pour affecter les responsabilités aux classes
- L’origine de Grasp, son ambition, La loi de Démeter
- Ou implémenter les méthodes : Le pattern Expert
- Réutilisation, Évolutivité : Le pattern Faible couplage
- Responsabilité unique : Le pattern Forte cohésion
- Généricité : La pattern Polymorphisme
- La logique métier : Le pattern Pure Fabrication
- Qui fait les instanciations : Le pattern Créateur
- Gestion de l’interactivité : Le pattern Contrôleur
Atelier 5
Description : Fourniture d’une spécification d’une application web simple
Analyse et formalisation via UML
Fourniture de la solution, comparaison vis à vis de l’analyse faite précédente
- Problématique des micro-services, typologie des patterns et leurs relations
- Stratégie de décomposition : l’approche DDD
- Les différents modes de communication entre micro-services, avantages/inconvénients
- Gestion des transactions : Le pattern SAGA
- Logique métier, notion d’agrégat
- Requêtage : Le pattern CQRS View
- Externalisation d’API : Le pattern Gateway
- Déploiement : Le pattern d’immuabilité
Atelier 6
Description : Fourniture de 3 micro-services
Implémentation des patterns SAGA, Agrégat, CQRS View et Gateway
Programme mis à jour le 17/12/2025
Public concerné
Ce cours Design Patterns s’adresse aux architectes et développeurs impliqués dans la conception logicielle orientée objet. Les architectes et développeurs concernés souhaitent comprendre et connaître les solutions communes fiables et testées pour les problématiques de conception logicielle récurrents.

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.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,5/5
20 avis
« Mon avis sur le contenu du stage : "Les trois premiers jours étaient exceptionnels, un excellent dosage en la théorie et la pratique. Le contenu des deux derniers jours aurait sûrement mérité une formation à part ou bien d'être moins dense pour pouvoir expérimenter pendant la formation" Mon avis sur le formateur : "Le formateur est un professeur intéressé très patient et rigoureux. Il était très intéressé par les specificité des langages que nous avions choisi pour l'implémentation et les a utilisé pour développer son propos Sur les deux derniers jours, les slides étaient parfois un peu indigestes et par moment le cours était un peu trop "magistral" avec de la lecture des slides Des répétitions dans le cours, mais utiles pour ancrer les informations importantes et/ou pour combler un manque d'attention à un moment donné" Ce que j'ai le plus apprécié : "Beaucoup d'échanges, utilisation des outils de partage par le formateur qui ont permi d'optimiser l'apprentissage" Ce que j'ai le moins apprécié : "dommage de ne pas avoir demandé en amont de préparer un environnement sqs ou autre pour peut être faire certaines manipulations sur notre propre machine plutot que les machines a distance" »
RVCISCO SYSTEMS FRANCE « Mon avis sur le contenu du stage : "Une semaine de formation intéressante. On a vu pas mal de thématiques, et des rappels de certains concept de base aussi. (SOLID, POO etc...) L'alternance théorie / travaux pratiques, permet de tout de suite voir comment s'applique le cours. Par contre, beaucoup d'informations reçues en une semaine donc difficile de tout retenir, mais les concepts principaux que j'ai pu retenir vont m'être très utiles pour mon travail (+ support de cours pour revoir les différents points dans le futur)" Mon avis sur le formateur : "Intervenant compétant, à l'écoute des questions et des participants S'adapte au domaine de travail de chacun (C#, Java)" Ce que j'ai le plus apprécié : "- Le site PLB est super pratique pour gérer la formation (émargement, évaluation) - Accès à une VM avec Eclipse (moins de perte de temps d'installation)" Ce que j'ai le moins apprécié : "- Impossibilité de copier-coller dans la VM" »
ATTGS FRANCE INFORMATIQUE « Mon avis sur le contenu du stage : "Contenu très dense. Peut-être un peu plus de temps (7 jours) serait nécessaire." Mon avis sur le formateur : "Bravo au formateur pour la qualité de son cours, le travail de présentation et la fluidité de son cours. " Ce que j'ai le plus apprécié : "L'échange entre l'animateur et les autres participants. La pédagogie était très bonne et le cours était agréable à suivre." Ce que j'ai le moins apprécié : "Les deux derniers jours étaient moins interactif et plus théoriques mais toujours plaisants à suivre." »
CLS.A SOLUTIONS
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Domain-Driven Design (DDD)Réf. DDDP2 joursIntermédiaireProchaine session : 3 déc.1 740 €
- Design Applicatif : Architecturer une application pour ses besoins présents et futursRéf. DAAA2 joursIntermédiaireProchaine session : 5 nov.1 740 €
- Maîtriser Clean CodeRéf. TDCE2 joursIntermédiaireProchaine session : 26 nov.1 740 €
- Pragmatic ArchitectureRéf. PRAG2 joursIntermédiaireProchaine session : 15 oct.2 200 €