Objectifs pédagogiques de la formation

Cette formation a pour but de :

Maîtriser les principes fondamentaux de la conception objet.
Connaître les principaux Design Patterns.
Mettre en oeuvre pragmatiquement les Design Patterns au sein d'une conception objet.
Découvrir de nouveaux Patterns.
Appréhender la notion de langage de Patterns.
Découvrir comment les Patterns s'appliquent à l'architecture et aux Frameworks.
Mettre en oeuvre une démarche globale basée sur les Design Patterns.
Structurer les applications orientées objet en packages respectant les règles de couplage et de cohésion.
Améliorer une application existante en utilisant les principes du Refactoring combinés aux Design Patterns.

 

Programme 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
  • Les principes fondamentaux de la conception objet
  • Les outils de la conception objet
Design Patterns du GoF et autres Patterns
  • Les Design Patterns de comportement (Itérateur, Stratégie, Template Method, Etat,
  • 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,
  • Value Object)
  • Les interactions entre Design Patterns
  • Les langages de Patterns
Patterns et architecture
  • Couches logicielles
  • Modèle Vue Contrôleur (MVC) et ses variantes
  • Domain Driven Design
  • Frameworks
Démarche globale basée sur les Patterns
  • Mise en oeuvre systématique des Patterns
  • Documentation et communication autour des Patterns
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
  • Quelques "mauvaises odeurs"
  • Exemples de Refactoring
  • Refactoring vers les Design Patterns
  • Les outils du Refactoring