1. Alternance
  2. NFP121 : Programmation avancée (6 ECTS)

NFP121 : Programmation avancée (6 ECTS)

Pré-requis

Connaissances de niveau Bac+2 en informatique. Impérativement savoir déjà programmer (de préférence en objet).

Objectifs

Maitriser les concepts avancés de la programmation objet. Apprendre à identifier et utiliser les patrons de conception (design pattern) adaptés à une situation de conception. Patrons utilisables quelque soit le langage de programmation.

Contenu

Structure des applications objets avec JAVA
Aspects impératifs du langage, tests unitaires
Interfaces, classes et polymorphisme
Introduction aux patrons de conception(Design Pattern)
   Les fondamentaux Délégation, classe abstraite, interface,
   Les patrons Adaptateur et Procuration
Programmation évènementielle
   Les patrons Observateur/Observé, Stratégie, MVC
Généricité et Collections
   Les patrons Patron de méthode, Itérateur, Fabrique
Les patrons réunis
    Composite, Interpréteur et Visiteur
    Memento, Commande, ...
Introspection et réflexivité en Java
Le patron Décorateur et les Entrées/Sorties
    Invariant, pré-post assertions comme décorations
Sérialisation XML/JSON et JAVA
Injection de dépendances et inversion de contrôle
  Le patron Fabrique, ServiceLocator
  L'outil femtoContainer
Les patrons de conception et l'injection de dépendances
  Vers une séparation de la configuration de l'utilisation

Chaque thème est accompagné d'un travail pratique
 

 

Modalités de validation

Examen écrit obligatoire, dans lequel les élèves doivent impérativement écrire du code. QCM interdit.

Les travaux pratiques *notés* sont obligatoires. Ces derniers participent à la note à condition que la note à l'examen soit au moins de 7/20. Fonctionnement identique pour la deuxième session.

Compétences visées

Maitrise des concepts objets et de plusieurs patrons de conception (Design pattern)

Formations

Cette unité d'enseignement est dispensée dans les formations suivantes :