Les Design Patterns sont des solutions éprouvées aux problèmes récurrents de conception logicielle. Cette formation couvre l’ensemble du catalogue GoF – Singleton, Factory, Observer, Strategy et bien d’autres – avec une mise en pratique systématique en Java. Vous apprendrez à reconnaître les situations qui appellent un pattern, à refactorer du code existant et à tirer parti de l’IA générative pour accélérer leur intégration.
Public visé
Architectes, ingénieurs concepteurs et développeurs orientés objet (Java, .NET, PHP, Python, JavaScript).
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Expliquer la philosophie des Design Patterns
- Catégoriser les patterns et reconnaître les principaux
- Transformer les patterns en code
- Implémenter les Design Patterns dans une architecture Web
- Utiliser les outils d’IA pour intégrer des Design Patterns dans un projet
Programme
Jour 1
Présentation générale
- Raisons d’être des Design Patterns, l’expérience réutilisée
- Fondements
- Liens entre UML, conception et Design Patterns
- Principaux diagrammes UML
- Domaines d’application
- Formalisation des Design Patterns
- Familles de patterns (GoF, Grasp)
Travaux pratiques
- À partir d’un diagramme de classes UML, identifier les potentiels Design Patterns exploitables lors de la phase de développement
Patterns de construction d’objets (créateurs)
- Singleton
- Factory
- Builder
- Prototype
Travaux pratiques
- Écriture et intégration de patterns créateurs tels que Singleton, Factory et Prototype en langage Java essentiellement au sein de projets proposés
- Démonstration de divers patterns de type créateurs dans des langages différents comme JavaScript et Python
Jour 2
Les anti-patterns
- Cas du Singleton
- Anemic Model
Patterns de structuration (structuraux)
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Travaux pratiques
- Écriture et intégration de pattern créateurs tels que Facade et Decorator en langage Java essentiellement au sein de projets proposés
Patterns comportementaux
- Chain of responsability
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Visitor
Travaux pratiques
- Écriture et intégration de patterns créateurs tels que Observer et Visitor en langage Java essentiellement au sein de projets proposés
Jour 3
Patterns d’architecture
- MVC, MVP et MVVM
- DAO et DTO
- Le pattern d’injection de dépendance
Travaux pratiques
- Critique des patterns MVP et MVVM sur la base d’exemple de code implémentant ces patterns
- Écriture d’un pattern d’injection de dépendance pour faciliter la mise en oeuvre du pattern MVC générique
Démarche d’utilisation
- Choix des patterns
- Outils de conception
- Métriques
- Refactoring
Apports de l’IA Générative pour la création de patterns
- Exemples de génération de patterns avec un outil IA comme ChatGPT
- Intégration du code proposé dans un projet
Travaux pratiques
- Appel à des outils d’IA Générative comme ChatGPT afin de générer des patterns simples et les intégrer à un projet
Modalités d’évaluation des acquis
En cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation DEV-ALGO-200 — Les Design Patterns. Domaine : Développement. Niveau : Intermédiaire. Durée : 3 jours (21 heures). Mots-clés : algorithmique, développement, avancé, design patterns, poo, uml, gof. Cylian Formation, Dijon.