Design-Patterns pour les développeurs Java
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.
Prérequis
- Développer des applications Java ou avoir suivi la formation TACFDEV1B1 – Programmer en Java
- Développer des applications Web Jakarta EE ou avoir suivi la formation TACFDEV2B1 – Jakarta EE – Développer des applications Web
- Mettre en œuvre la notation UML ou avoir suivi la formation TACNUM1-1F – UML 2 – Analyse et conception
Public admis
- Salarié en Poste
- Entreprise
Demandeur d'emploi et Etudiant non admis
Financement
- Votre OPCO
- Financement personnel
Financement CPF non pris en charge
Modalités
- En centre
- En entreprise
- À distance
Objectifs pédagogiques
- Comprendre l’intérêt et l’usage des Design-Patterns en conception logicielle
- Concevoir une architecture logicielle solide en utilisant des modèles de conception éprouvés
- Identifier les différentes familles de Design-Patterns GoF et les responsabilités de chacun
- Identifier les Design-Patterns nécessaires à la construction d’une application Java SE/Jakarta EE
- Modéliser et développer une couche de persistance des données en utilisant les modèle de conception permettant de rendre les autres couches indépendantes du système de persistance
- Modéliser et implémenter une couche métier en s’appuyant sur la couche de persistance avec les modèles d’abstraction essentiels
- Modéliser et implémenter la couche de présentation/IHM et utiliser les patterns pour le lien avec la couche métier, la gestion de l’interaction utilisateur et l’affichage de données
- Comprendre l’apport des patterns d’architecture tels que le modèle MVC dans une structure logicielle complexe
Programme de la formation
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

Proposé par
ENI Service
"votre centre de formation informatique de confiance"

Proposé par
ENI Service
