Hugo Tekeng
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