Présentation : la conception d’applications objet reste un art difficile. Les design patterns permettent une conception plus efficace en terme d’évolutivité et de performance.
Objectifs : être capable de mettre en œuvre les design patterns dans la conception d’applications java ou C++.
Durée : 4 jours
Public concerné : développeurs, chefs de projets.
Pré-Requis: cette formation s’adresse à des développeurs connaissant UML et ayant une expérience significative de la conception d’applications en Java ou C++.
Travaux Pratiques : ils sont effectués à l’aide d’un outil de développement Open source comme Eclipse ou Visual C++. Les travaux pratiques occupent environ 60% du temps de la formation.
Contenu de la formation
Introduction à la conception objet et aux Design Patterns :
- Processus de développement agiles
- Analyse et conception
- La conception dans les processus agiles
- Découverte d’un Design Pattern
Principes fondamentaux de conception :
- Les Patterns Grasp d’affectation des responsabilités
- Principe d’ouverture / fermeture (OCP)
- Inversion des dépendances (DIP)
- Substitution de Liskov (LSP)
- Séparation des interfaces (ISP)
Design Patterns du GoF et autres Patterns :
- Les Design Patterns de comportement (itérateur, stratégie, Template Method, état, observateur, médiateur, visiteur)
- Les Design Patterns de création (singleton, fabrique abstraite, Builder)
- Les Design Patterns de structure (composite, pont, adaptateur, décorateur, façade, Proxy,Extension Object, Value Object)
Patterns et architecture :
- Couches logicielles
- Modèle Vue Contrôleur (MVC)
- Frameworks
- Approche par composants
Organiser un modèle et en contrôler la qualité :
- Règles d’organisation en packages
- Métriques de packages
Le refactoring :
- Définition et principes du refactoring
- Exemples de refactoring
- Refactoring vers les Design Patterns
- Les outils du refactoring