Image du cours Tests
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
2 h 30
Niveau
L3 / M1
Description
Les tests sont essentiels pour permettre d’identifier les probrlemes de non regressions en cas de changements. De plus avec Test Driven Design ils permettent une conception plus claire et efficace. Ils permettent aussi a la programmation agile de donner tout son potentiel dans une boucle vertueuse (test, developpement, refactorings)
Acquis d'apprentissage
Test, XTDD, TDD
Réutilisation
Image du cours Essence
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
3 h 30
Niveau
L3 / M1
Description
Cette partie presente les aspects essentiels de la POO : a savoir que l'envoi de messages selectionne la bonne methode Cette section revient sur les concepts importants de self/this et super. Elle presente aussi que les envoie de messages a self sont de la planification pour la reutilisation par les souclasses. Elle montre que definir de petites methodes est un point essentiel pour la reutilisation future du code car le code des souclasses peuvent etre conceptuellemment injecte dans celui des superclasses.
Acquis d'apprentissage
points essentiels!, Hook and Template Design Pattern, modularité
Réutilisation
Image du cours Basic Principles
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
3 h
Niveau
L3 / M1
Description
cette partie revient des concepts elementaires de la programmation objet tels que la notion meme d'objets, la comparaison de l'heritage et la delegation, la simple reutilisation de méthodes.
Acquis d'apprentissage
object vs data, inheritage vs delegation, grosses classes sont mauvaises, Stragegie design pattern
Réutilisation
Image du cours DoubleDispatch
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
2h30
Niveau
L3 / M1
Description
Alors qu'envoyer un message est faire un choix comme vu dans la section Essence, nous abordons ici sa généralisation. C'est dire comment en utilisant deux messages on peut choisir une méthode basée sur le receveur et son argument.
Ce point est central car il montre comment on peut eviter l'utilisation de condition statiques et monolithiques pour dfefinir des systemes modulaire. Il est aussi a la base du Design Pattern Visitor.
Acquis d'apprentissage
Double Dispatch
Réutilisation
Image du cours Principles
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
4h30
Niveau
L3 / M1
Description
Cette section aborde des principes plus généraux comme l'utilisation de tests sur nul, la loi de demeter qui limite de couplage, et la comparaison entre subclassing and subtyping.
Acquis d'apprentissage
Law of Demeter, couplage, modularite, subclassing, subtyping, ...
Réutilisation
Image du cours CaseStudy
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
6 h
Niveau
L3 / M1
Description
Cette section présente des cas réels d'utilisation des principes presentes avant dans le cours. Elle presente aussi des points avancés comme une analyse des APIs de classes qui montrent immédiatement des problèmes de conception, ou une architecture en forme de couche et de descriptions.
Acquis d'apprentissage
Points avancés.
Réutilisation
Image du cours Design Pattern
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
2h30
Niveau
L3 / M1
Description
Cette aprtie presente quelques Design Patterns comme le Hook and Template Method, le Composite et le Visitor qui sont centraux a des nimbreux traitements.
Réutilisation
Image du cours Lang
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
2h30
Niveau
L3 / M1
Description
Cette partie montre quelques idiomes de programmation sur l'utilisation des flots, les variables partagees, la comparaison entre fermetures lexicales et objets et des discussions autour de l'API de Builder Design pattern a base de fermeture. lexicales.
Réutilisation
Image du cours Resources
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
30 minutes
Niveau
L3 / M1
Réutilisation
Image du cours Pharo Challenge
Advanced Object-Oriented Design
Auteur
Stéphane Ducasse
Durée
3h
Niveau
L3 / M1
Description
Exercice d'entrainement
Prérequis
Les cours Pharo
Réutilisation