:: Enseignements :: ESIPE :: E4INFO :: 2015-2016 :: Programmation Orientée Objet - Design Patterns ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Programmation Orientée Objet - Design Patterns |
ResponsablePhilippe Finkel -- www -- @ Remi Forax -- www -- @
|
|
|
|
|
|
Objectifs du cours
A l'issue de ce cours:
- vous serez capable de réaliser des tests unitaires JUnit pour toutes les classes que vous écrivez.
- vous serez capable de mettre en œuvre une dizaine de design patterns dans vos projets d'école, en respectant correctement la terminologie.
- vous serez capable d'écrire des codes simples (inférieur à 5 j.h) respectant les principes essentiels de responsabilité unique des classes, de localité.
- vous serez capable de décrire les dépendances d'un code simple et vous serez en mesure de jugez la pertinence ce ces dépendances.
- vous serez capable de concevoir et développer des logiciels relativement complexes (charge inférieure à 30 j.h) en mettant en œuvre les principes S.O.L.I.D. de la programmation orientée objet et les design patterns étudiés.
- vous serez capable, pour de tels logiciels, de modéliser votre conception à l'aide de schémas UML.
- vous serez capable de reprendre un code relativement complexe (charge inférieure à 15 j.h), de le comprendre, de le tester avec des tests JUnit et de le restructurer pour améliorer la distribution des responsabilités entre classes.
Examen de cette année
Examen.
Sujets de TD
La page
elearning correspondant à ce cours.
Sujets de TD
Programmation Objet
Objectifs de la semaine :
- révision sur les hiérarchie de classe et le polymorphisme
- comprendre la différence entre héritage et délégation
- prendre conscience de la souplesse supplémentaire avec la délégation
- apprendre (et commencer à comprendre) les principes SOLID
Dessinons !
[Etudes techniques librairie Canvas]
[Dessins des lignes]
[Et des ellipses ...]
[Un peu de selection]
[Selection colorée]
Jouons !
[Enfin la paye]
Tests unitaires : tester avant, pendant, toujours !
Objectifs de la semaine :
- comprendre que les tests, ce n'est pas un truc de prof !, ça va vous AIDER et rendre le développement plus agréable
- savoir mettre en oeuvre des tests unitaires (JUnit uniquement). Sur une classe ou un ensemble de classes. Sans dépendances extérieures, Sans mock. tests unitaires uniquement.
- comprendre les bonnes pratiques pour savoir quoi et comment tester
- initiation au TDD
JUnit et tests
[Liste de course]
TDD
[Questions]
[Conversion de nombre Romain vers les entiers]
[Conversion d'entiers vers les chiffres Romain]
[Nombre Romain préfix]
Design Patterns de création
Objectifs de la semaine :
- découverte des DP
- différencier construction et initialisation
- être capable de repérer les problématiques où une factory améliore le design et le code
- comprendre les différences d'intention et de fonctionnement des différentes factories
- maîtrise de la terminologie des DP creational
Equilibrium
[Equilibrium]
Passe ton bac
[Questions]
[Des bacs et des camions]
[et les Motos ?]
[Factory ?]
[Adaptons !]
[Déléguons !]
[OCP]
[Fermeture (optionnel)]
DP Decorator, Proxy, Adapter, Composite
Objectifs de la semaine :
- découvrir les DPs Decorator, Proxy, Adapter, Composite
- savoir les mettre en oeuvre
- s'initier à l'utilisation simultanée de plusieurs DPs
Je loggue, tu loggues, ...
[Mon logger à moi]
Jouons à la guerre !
[Questions]
[Des unités militaires]
DP observer, visitor
Objectifs de la semaine :
- découvrir les DPs Observer, Visitor
- savoir les mettre en oeuvre
- continuer à composer plusieurs DPs
Un serveur de commandes
[Un serveur de commandes]
Ca vaut le détour
[Questions]
[Encore une calculette !]
[Le visiteur avec des lambdas (optionnel)]
Entraînement !
Objectifs de la semaine :
Poly (en cours)
Quelques références
Bibliographie
© Université de Marne-la-Vallée