PLB CONSULTANT : 05. Conception avec les Design Patterns
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Travaux pratiques. Auto-évaluation en début et en fin de formation.
Prix
Public
Architectes, développeurs, analystes, chefs de projets…
Pré-requis
Posséder une solide connaissance en programmation orientée objet (Java).
Objectifs pédagogiques
- Comprendre la philosophie des Design Patterns
- Connaître les principaux patterns
- Appréhender la démarche d’utilisation des modèles pour appliquer le bon patron
- Appliquer les Design Patterns dans une architecture technique de conception
Programme détaillé
Les fondamentaux de l’orienté objet et UML
Notion d’objet, de classe, d’encapsulation,
Les relations d’héritage, d’implémentation d’interface et les associations
Les diagrammes UML
Comprendre les Design Patterns
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
Objectif : Comprendre le formalisme de description d’un design pattern
Description : Relecture collective du pattern FactoryMethod
Les Patterns créateurs
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
Objectif : Savoir reconnaître et implémenter les principaux patterns de création
Description : 3 formulations de problèmes
Identification collective des patterns de création
Implémentation des patterns en Java ou C++
Les Patterns structuraux
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
Objectif : Savoir reconnaître et implémenter les principaux patterns structuraux
Description : 3 formulations de problèmes
Identification collective des patterns à appliquer
Implémentation des patterns en Java ou C++
Les Patterns comportementaux
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
Objectif : Savoir reconnaître et implémenter les principaux patterns comportementaux
Description : 3 formulations de problèmes
Identification collective des patterns à appliquer
Implémentation des patterns en Java ou C++
Les GRASP patterns (General Responsibility Assignment Software Patterns)
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
Objectif : Comprendre comment sont appliquer ses patterns dans les applications Web modernes
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
Design patterns pour les micro-services
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
Objectif : Connaitre les patterns communs des architectures micro-services
Description : Fourniture de 3 micro-services
Implémentation des patterns SAGA, Agrégat, CQRS View et Gateway