Histoire et généralités
- Apparition et évolution des des langages orientés objet
- Présentation des principaux langages orientés objet, leur rôle et utilité
- Comparaison avec la programmation impérative, procédurale et modulaire
- Langages interprétés et compilés
L'approche objet en pratique
- Penser objet : une philosophie et une méthodologie
- Les apports dans la modélisation objet dans un système d'information
- La notion de classe et instance
- Attributs, constructeurs et méthodes
- Les grands principes objet : abstraction, encapsulation, modularité, hiérarchie, héritage, polymorphisme, etc.
- Les avantages : stabilité, modularité, découplage ...
- Les Design Patterns au service de la conception
- Les pièges à éviter
- Points communs et différences selon les langages
Exemple d'exercice : Réalisation de classes (dessins et pseudo-codes) sur des problématiques diverses.
Designs patterns
- Introduction au principe des design patterns
- Présentation des patterns objet les plus utilisés : intérêt, cadres d'utilisation
- Singleton
- Factory
- Itérateurs
- MVC
Exemple d'exercice : Réalisation en pseudo-code des Design Patterns
La modélisation objet avec la notation UML
- Le rôle de la modélisation dans le cadre de la conception orientée objet
- Quand et où faire usage des diagrammes UML
- Présentation des principaux diagrammes UML
- Modélisation statique : diagrammes de classe et de packages, diagramme d'objet, représentation des attributs et méthodes privées et publiques
- Modélisation dynamique : représentation des flux de messages dans un diagramme de séquences
- Les différents outils de modélisation UML
Exemple d'exercice : Réalisation de diagrammes sur différentes problématiques
Quelques frameworks et leur rôle
- Rôle et intérêt d'un framework
- Les principaux frameworks Java : Spring, Struts, JSF
- Les principaux frameworks JavaScript : Angular, React, Vue
- Les principaux frameworks PHP : Symfony, Zend, Laravel
- Les principaux frameworks Python : Django, Flask, CherryPy