Identifier les enjeux du design sur la gestion de projets
Comprendre les principes fondamentaux du design
Concevoir une architecture applicative adaptée au contexte client
Connaître les responsabilités de chaque couche applicative
Identifier les design patterns et frameworks de l'état de l'art adaptés à chaque couche
MISE EN PRATIQUE
Études de cas pour comprendre les enjeux des principes fon - da mentaux du design et des patterns. Nombreux exemples de code illustrant l'implé - mentation concrète des grands principes du design.
PROFIL DES PARTICIPANTS
Architecte Chef de projet technique Concepteur/développeur
PRE-REQUIS
La connaissance d'un langage objet est nécessaire, de préférence Java qui est utilisé dans les exemples d'implémentations vus en cours et les travaux dirigés. Connaître UML : diagrammes de classes et de séquence.
Historique et définition. Enjeux du design. La réutilisation des objets dans un contexte en constante évolution. L'encapsulation.
CONSTRUIRE ET DÉPLOYER : LES GRANDS PRINCIPES DU DESIGN
Chaque principe est illustré par des exemples concrets montrant le gain obtenu en termes de qualité et de productivité.
Construire des classes
Présentation du principe d'ouverture-fermeture (OCP) comme base fondamentale de la réutilisation. Héritage et ré-utilisation, une fausse solution ? Le principe de Liskow : héritage ou composition ? Interface et polymorphisme : la voie royale. Qu'est-ce que l'obésité des classes ? Ségrégation des interfaces et spécialisation des rôles. Affectation des responsabilités (GRASP). Loi de Demeter et les champs de collaboration des classes. Rappels des objectifs : cohésion et couplage, la réutilisation.
Gestion des dépendances
Les différents principes sur l'organisation des dépendances : Dependency Inversion Principle, Reuse Release Equivalence Principle, Stable Dependency Principle, Stable Abstraction Principle, Acyclic Dependencies Principle. Relation dépendance/stabilité (focus sur JDEPEND). Pattern d'inversion de contrôle et injection de dépendances. Présentation des conteneurs légers (ex : Spring).
ARCHITECTURE ET FRAMEWORK
Modèles en couches
Notions d'architecture logicielle : quels sont les vrais enjeux ? Modèles en couches éprouvés et les frameworks associés. Responsabilité des couches. Exemple d'architecture J2EE avec différents frameworks La réutilisation : les frameworks. Panorama des frameworks existants, cruciaux dans le cadre de développement d'applications J2EE. Focus sur le pattern d'architecture Modèle Vue Controleur 2.
L'Anemic Domain Model vs Domain Driven Design
Présentation de l'anti-pattern : « Anemic Domain Model » respectant une approche procédurale. Comparaison avec l'approche « Domain Driven Design » d'Eric Evans.
PATTERNS
Présentation de la révolution des patterns et de leurs rôles dans la conception objet.
Objectifs des patterns
Présentation des grandes catégories de patterns : Patterns Gof et J2EE...
Mode de présentation, catégorie de patterns et classification
Conclusion sur les enjeux du design. Glossaire des principes fondamentaux du design et des patterns Gof et J2EE. Principaux ouvrages et sites de référence.
PARIS
4-5 fév
3-4 avril
4-5 juin
6-7 août
22-23 oct
10-11 déc
BORDEAUX
4-5 fév
14-15 avril
9-10 juin
21-22 août
13-14 oct
8-9 déc
LYON
14-15 janv
10-11 mars
26-27 juin
21-22 août
25-26 sept
20-21 nov
MEDITERRANEE
14-15 janv
10-11 mars
26-27 juin
21-22 août
25-26 sept
20-21 nov
NANTES
4-5 fév
3-4 avril
4-5 juin
6-7 août
22-23 oct
10-11 déc
TOULOUSE
30-31 janv
17-18 mars
22-23 mai
3-4 juil
22-23 oct
3-4 déc
SUISSE
17-18 janv
10-11 mars
13-14 mai
8-9 sept
17-18 nov