Aperçu des sections
-
Fiche de description du cours : Cours 2I1AC3
La programmation de logiciels avec un langage à objet va au-delà du simple codage avec des classes. Cela introduit une nouvelle façon d'analyser et de concevoir les logiciels.
L'objectif pédagogique de ce cours est une sensibilisation aux paradigmes avancés de l'analyse et de la conception par objets qui s'appuie sur un ensemble de principes, de règles et de patrons de conception (design patterns). Cela passe aussi par la spécification de quelques principes d'organisation du code en paquets.
Ce cours aborde les points suivants :- Les principes SOLID de conception orientée objet.
- La réutilisabilité en conception logicielle.
- Les patrons de conception de la "bande des quatre".
- Les patrons d'architecture.
- L'organisation du code en paquets.
- La programmation orientée aspect.
-
Séance 1 : Chapitre 1 : IntroductionSéance 2 : Chapitre 2 : Principes avancés de conception objet (diapo 28 avant la réutilisation)Séance 3 : Chapitre 2 : Réutilisation + Chapitre 3 : GOF Design Pattern (Adaptateur, Fabrique, Fabrique abstraite)
Séance 4 : Chapitre 3 : GOF Design Pattern (Composite, Itérateur, Visiteur)Séance 5 : Chapitre 3 : GOF Design Pattern (Décorateur, Procuration, Observateur)Séance 6 : Chapitre 4 : Patrons d'architectureSéance 7 : Chapitre 3 : GOF Design Pattern (Commande, Stratégie, État, Buiilder)Séance 8 : Chapitre 3 : Résumé GOF Design PatternSéance 9 : Chapitre 5 : Organisation en paquets -
Polycopié Diapositives Objectif du chapitre Chapitre 1. Limites du paradigme objet pour la conception Diapositives Se rendre compte que les concepts du paradigme de conception orientée objet ne sont pas suffisants pour produire des logiciels robustes, maintenables et réutilisables. Chapitre 2. Principes avancés de conception objet Diapositives Savoir produire des logiciels robustes, maintenables et réutilisables en s'appuyant sur des :
- principes de conception (SOLID),
- règles de conception,
- patrons de conception.Chapitre 3. Patrons de conception de la bande des quatre Diapositives
Conclusion du chapitreConnaître le détail des 23 patrons de conception de la bande des quatre "Gang of Four" et savoir les utiliser dans ses propres développements. Chapitre 4. Patrons d'architecture Diapositives Connaître les patrons d'architecture de base. Chapitre 5. Principes de conception en paquets Diapositives Savoir organiser les sources d'un projet en paquets afin de favoriser le développement, la maintenance et la réutilisabilité de projet. Conclusion Diapositives Conclusion générale Annexe. Programmation orientée aspectDiapositivesAvoir connaissance du paradigme de programmation orientée aspect qui s'inscrit au-dessus du paradigme de programmation orientée objet. -
-
- Sujet de TP de Git : https://foureys.users.grey.fr/tp-git/
- Sujet de TP de Git : https://foureys.users.grey.fr/tp-git/
-
-
Qu'est ce qu'un coding dojo ?
Le coding dojo est une rencontre entre plusieurs personnes qui souhaitent travailler sur un défi de programmation de façon collective. Ce n'est pas une compétition mais un moment de partage et de convivialité.
Nous proposons ici plusieurs exercices qui visent à expérimenter l'implémentation en Java de patrons de conception.
Organisation d'une séance de coding dojo
Réunissez-vous à plusieurs dans une salle réquisitionnée pour l'occasion. Pour partager la séance, utilisez le vidéoprojecteur de la salle si elle est équipée ou l'outil de codage collaboratif disponible sur un IDE (par exemple code with me d'IntelliJ IDEA).
Choisissez un exercice dans la banque d'exercices proposée ci-dessous et réalisez l'exercice sous la forme d'un Kata (une personne montre aux autres) ou d'un Randori (des binômes tournant de façon régulière : de 5 à 10 minutes).
Modalités de réalisation d'un exercice
- Téléchargez l'archive zip du projet s'il existe
- Ouvrez le dossier du projet dans l'IDE ou créez un nouveau projet quand il n'y a pas d'archive zip.
- Répondez aux différents exercices de l'énoncé par l'écriture de code.
- Téléchargez l'archive zip du projet s'il existe
-
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. "Design Patterns Catalogue de modèles de conception réutilisables", Addison-Wesley, 1995/1999. (Le livre référence)
- A. Shalloway, J. R. Trott. "Design Patterns par la pratique", 2002. (Les patrons abordés par l'aspect pratique).
- F. Bushmann, R. Meunier, H. Rohnert, M. Stal, "Pattern-oriented software architecture: a system of patterns", Wiley & Sons, 1996.
- B. Bates, E. Freeman, E. Freeman, K. Sierra, "Head First Design Patterns", O'Reilly Media, 2004. (Très didactique)
- Robert Martin, "Agile software development: principles, patterns, and practices.", Pearson Education, 2002. (Une référence dans le domaine)
- Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford, "Patterns of Enterprise Application Architecture.", Addison-Wesley, 2002. (Une autre référence dans le domaine)