Découvrez la puissance des Design-Patterns dans le développement logiciel avec notre formation complète.
Vous apprendrez le rôle crucial des Design-Patterns dans le développement de logiciels de qualité et comment utiliser les Design-Patterns fondamentaux (GoF) pour résoudre les problèmes de conception communs des classes et des objets.
Nous explorerons les patterns spécifiques aux plateformes Java SE et Jakarta EE, illustrés à travers une application concrète.
Vous apprendrez à modéliser et développer les différentes couches logicielles, intégrant les Design-Patterns nécessaires à chaque étape.
En fin de formation, vous aurez une compréhension approfondie des Design-Patterns et de leur utilisation pour structurer des applications Java SE/Jakarta EE complexes.
Cette formation est adaptable à une version antérieure de la plateforme.
Programme détaillé
Introduction aux Design-Patterns (1 heure)
- Que sont les Design-Patterns ?
- Nécessité des patterns
- L’approche UML
- Travaux pratiques :
- Installation, configuration et prise en main des outils de conception et développement
Architectures et Design-Patterns (1 heure)
- Les composants et les Frameworks
- Vers l’intégration des patterns
- Les couches et les services
- Répartition des responsabilités
- Le modèle MVC
- Travaux pratiques :
- Présentation de l’application de cas d’étude
Les Design-Patterns GoF (4 heures)
- Les patterns de construction : maîtriser les constructions d’objets
- Fabrique simple
- Fabrique abstraite
- Fabrique en singleton
- Les patterns de structuration :
- Proxy
- Façade
- Adapter
- Composite
- Les patterns de comportement :
- Observateur
- Stratégie
- State
- Visitor
- Travaux pratiques :
- Première phase de conception de l’application
- Identification des patterns GoF dans les différentes fonctionnalités de l’application
- Création des premières classes
Les Design-Patterns pour le développement en Java (1 heure)
- L’approche en couches logicielles
- Définir les différentes couches logicielles d’une application et définir les responsabilités des composants dans ces couches
- Les patterns associés aux différentes couches
- Couche présentation
- Couche métier
- Couche d’intégration
- Spécificité dans les développements d’applications Java SE
- Spécificité dans les développements d’applications Jakarta SE
- Travaux pratiques :
- Application des patterns d’architecture autour du modèle MVC
Modélisation de la couche présentation (1 jour)
- Les contraintes de la couche présentation en fonction du type d’application
- La couche de présentation des applications Web Jakarta EE
- La couche de présentation des applications clients lourds et clients riches
- Appliquer les patterns de la couche présentation dans les applications Web
- Intercepting Filter : filtrer les requêtes et les réponses HTTP après et avant traitement
- Front Controller : fournir un point d’accès unique pour le traitement des requêtes HTTP.
- View Helper : encapsuler les données manipulées par les pages dynamiques
- Composite View : décomposer l’affichage en fragment de pages
- Service to Worker et Dispatcher View : traitement et génération de réponse
- Les patterns pour les clients lourds et les clients riches
- Appliquer les patterns GoF dans les interfaces graphiques Java
- Travaux pratiques :
- Implémentation de la couche de présentation
- Application du modèle MVC 2 avec Front Controller et View Helper
Modélisation de la couche métier (1 jour)
- Définir les types de composants à utiliser en fonction des contraintes fonctionnelles et techniques
- Appliquer les patterns de la couche métier
- Business Delegate : masquer la complexité de la couche métier aux clients
- Service Locator : localisation et mise en cache de services
- Session Facade : exposer les composants métiers aux clients
- Transfer Object : transférer des données entre couches
- Value List Handler : transférer des collections de données aux clients
- Travaux pratiques :
- Modélisation des patterns de la couche métier
- Transformation des classes pour convenir aux contraintes techniques
- Création et implémentation des classes
Modélisation de la couche d’intégration (1 jour)
- Définir les types de composants à utiliser en fonction des éléments de la couche ressources
- Appliquer les patterns de la couche d’intégration
- Data Access Object : manipuler des données en restant indépendant du format de persistance de ces données
- Service Activator : traitement des requêtes et messages asynchrones
- Web Service Broker : exposer des Web Services
- Travaux pratiques :
- Conception de DAO (Data Access Object) pour l’accès aux données
- Création et implémentation des classes avec une API de persistance
- Liaison à la couche métier