Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Expliquer la philosophie des Design Patterns
- Catégoriser les patterns
- Reconnaître les principaux patterns
- Transformer les patterns en code
- Mettre en oeuvre les Design Patterns dans une architecture Web
- Utiliser les outils d'IA pour intégrer des Design Patterns dans un projet.
Prérequis
Avoir connaissance d'un langage de programmation orienté objet.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testLes + de la formation
Un examen M2i permettant de valider vos acquis à l'issue de la formation est disponible sur demande (coût : 120€).
Public concerné
Architectes, ingénieurs concepteurs, développeurs objet (Java, .NET, PHP, Python, JavaScript...).
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)
Exemple de travaux pratiques (à titre indicatif)
- A 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
Exemples de travaux pratiques (à titre indicatif)
- Ecriture 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
Exemples de travaux pratiques (à titre indicatif)
- Ecriture 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
Exemples de travaux pratiques (à titre indicatif)
- Ecriture 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
Exemples de travaux pratiques (à titre indicatif)
- Critique des patterns MVP et MVVM sur la base d'exemple de code implémentant ces patterns
- Ecriture 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
Exemples de travaux pratiques (à titre indicatif)
- Appel à des outils d'IA Générative comme ChatGPT afin de générer des patterns simples et les intégrer à un projet
Examen M2i (en option)
- Prévoir l'achat de l'examen en supplément
- L'examen (en français) sera passé le dernier jour, à l'issue de la formation et s'effectuera en ligne
- Il s'agit d'un QCM dont la durée moyenne est d'1h30 et dont le score obtenu attestera d'un niveau de compétence
- L'examen n'est pas éligible au CPF, mais permettra néanmoins de valider vos acquis
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation et/ou un examen M2i
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.