INF1035Automne 2024Programmation objet
← Retour au parcours universitaire
Concepts avancés en objet
Vue détaillée du cours, des notions étudiées, des technologies mobilisées et des principaux travaux associés.
Code
INF1035
Session
Automne 2024
Domaine
Programmation objet
Résumé global
Cours d’approfondissement de la programmation orientée objet, centré sur les mécanismes avancés de conception et de développement logiciel. Le cours m’a permis d’aller au-delà des bases de la POO en étudiant la généricité, les patrons de conception, la robustesse des applications, la programmation événementielle et certains concepts avancés comme la programmation par contrat et la programmation orientée aspect.
Technologies utilisées
JavaC#AspectJEclipseVisual C#Spring Boot
Notions vues dans ce cours
- Rappels avancés sur les concepts orientés objet
- Héritage simple et multiple
- Hiérarchies de classes
- Polymorphisme
- Liaison statique et liaison dynamique
- Classes abstraites et interfaces
- Extensions de classes et structures partielles
- Généricité
- Collections et structures de données
- Fonctions déléguées et expressions lambda en Java et C#
- Programmation événementielle
- Gestion des exceptions
- Refactoring
- Patrons de conception GoF
- Inversion de contrôle et injection de dépendances
- Persistance avec JPA et Spring Data
- Méta-programmation : annotations et attributs
- Gestion de mémoire : GC et ARC
- Programmation par contrat
- Programmation orientée aspect : aspects, interception, limites de la POO
- Robustesse, extensibilité et maintenabilité des applications
Travaux et éléments évalués
- TP1 sur les concepts avancés objet
- TP2 sur la mise en pratique de concepts avancés et/ou frameworks
- Exercices en Java et C#
- Examen intra
- Examen final