Description
Le cours vous permettra de maîtriser les principes fondamentaux de la conception objet et de mettre en œuvre les principaux patterns de conception et d’architecture.
Vous verrez également comment : organiser vos packages, refactoriser votre code, savoir faire du TDD, savoir développer en mode itératif.
– Démarche de la conception objet
– Principes de conception Orientée Objet
– Les design patterns fondateurs du GOF
– La refactorisation
– Introduction à l’architecture logicielle et aux patterns architecturaux
– Principes d’organisation en packages Développements pilotés par les tests
– Conception et agilité
Déroulement
La durée est de 5 jours.
Pré requis :
Connaissance d’un langage objet
Contenu
Journée 1
- Introduction
- Démarche de la conception objet
- Les concepts de la POO
- Origine d’UML.
- UML et ses diagrammes.
- Démarche de la conception objet (suite)
- La démarche UML pour la conception
- Les niveaux de conception
- Principes de conception Orientée Objet
- OCP : principe d’ouverture/fermeture
- Principe de substitution de Liskov (LSP).
- DIP : principe d’inversion de dépendance
- La réduction de la complexité apparente par la séparation des interfaces (ISP).
- La répartition des responsabilités avec le GRASP
- TP : Découpage des responsabilités entre les classes.
Journée 2
- Les design patterns fondateurs du GOF
- Les patterns de création
- Singleton
- Fabrique abstraite
- Monteur
- Fabrication
- Prototype
- Les design patterns fondateurs du GOF
- Les patterns comportementaux
- Chaîne de responsabilité
- Commande
- Interpréteur
- Itérateur
- Médiateur
- Mémento
Journée 3
- Les design patterns fondateurs du GOF
- Les patterns comportementaux
- Observateur
- Stratégie
- Etat
- Visiteur
- Patron de méthode
- Les design patterns fondateurs du GOF
- Les patterns de structure
- Composite
- Décorateur
- Adaptateur
- Pont
- Façade
Journée 4
- Les design patterns fondateurs du GOF
- Les patterns de structure
- Poids mouche
- Procuration
- TP Mise en oeuvre pratique
- Introduction à l’architecture logicielle et aux patterns architecturaux
- Architecture logicielle
- Design patterns architecturaux
- Des exigences à l’architecture.
- Architecture en couches
- Introduction à l’architecture logicielle et aux patterns architecturaux
- Le modèle MVC
- MVVM
- Client/serveur
- Principes d’organisation en packages
- Règles : GRIN, DIP, CCP, CRP, et fonction commune
- Métriques sur les packages
- TP Calcul sur les packages
Journée 5
- La refactorisation, définition
- Pourquoi refactoriser ?
- Quand refactoriser?
- Comment refactoriser?
- Niveaux de refactorisation.
- Modification de la présentation
- Modification des méthodes
- Modification de l’algorithmique des classes.
- Refonte de la conception.
- Refactorisation de package
- TP : Prince of code…refactorisation
- Développements pilotés par les tests
- Tests unitaires
- Test Driven Development (TDD)
- Mock
- Développements pilotés par les tests
- TP: TDD, Design Patterns en pratique…
- Remplissage des évaluations
- Conception et agilité
- Le manifeste agile.
- SCRUM
- Particularités SCRUM, XP & AGILE
- Conclusion