Compléments de programmation orientée objet

Description

Ce cours de compléments de POO revisite les principes des langages objets, tels que vus en L2, avec une vision orientée vers la qualité, la pérennité (possibilité d'évoluer et de corriger les bugs) et la ré-utilisabilité des composants programmés.

Le langage qui sert d'illustration est Java. Pour chaque aspect de ce langage, tous les écueils probables sont mis en évidence et de bonnes pratiques permettant de les éviter sont expliquées (cela va du simple ajout de mot-clé tel que `private` ou `final`, à la mise en place d'un patron de conception complet).

Les ajouts récents du langage (Java 17 est la version actuellement utilisée pour le cours) sont expliqués quand il permettent d'améliorer la concision et la robustesse du code.

Un tiers du volume du cours est consacré à la programmation concurrente en Java, avec toujours l'idée de programmer de la façon la plus fiable, la moins risquée possible (on encourage a l'utilisation des API concurrentes de haut niveau plutôt que la manipulation directe des threads, quand c'est possible).

Syllabus

Sujets centraux

Sujets potentiellement traités

Certains sujets ne sont pas systématiquement développés en amphi toutes les années (mais le cours est écrit et disponible) :

Pré-requis