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
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é
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
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.
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
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, ...
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.
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.