Développeurs C++
Avoir suivi la formation C++ Initiation ou notions équivalentes
Maîtriser les fondements de la POO - Comprendre la décomposition d'une application d'entreprise en objets (conception/design OO) - Appliquer les principes de regroupement, de structuration et de communication entre les objets d'un système complexe - Concevoir des systèmes OO de manière à favoriser la maintenabilité et faciliter le changement dans un contexte itératif - Appliquer les principes S.O.L.I.D. - Concevoir des applications faiblement couplées et cohésives - Apprendre à implémenter des designs patterns
Encapsulation: intérêt, bonnes pratiquesAgrégation d'objetsHéritage: cas d'usage, préférence pour la compositionPolymorphisme: ad-hoc, sous-typage, types paramétriquesObjets Valeurs (Value Objects)Cercle vertueux de l'ignorance
Atelier: construire un schéma de classes cohérent
Tell don't askGestion des dépendancesDécoupage des règles d’affaires basé sur l’interactionConception basée sur les comportementsLoi de Déméter
Atelier: implémentation de patterns de comportements
Conception par concepts plutôt que par données: concepts, types d'objetsArchitecture HéxagonalePrésentation des principes SOLIDPrincipe de la responsabilité unique (SRP)Principe de l’ouverture-fermeture (OCP)
Atelier: multiples exemples de mauvaise/bonne implémentation
Métrique de l'Abstraction-Instabilité (R. C. Martin)Principe de substitution de Liskov (LSP)Composition versus héritagePrincipe de la ségrégation des interfaces (ISP)
Atelier: analyse d'un code et présentation des métriques - ré-écriture d'exemples concrets
Conception modulairePrincipe d’inversion des dépendances (DIP)Objet de transport (DTO)Présentation de la clean architecture
Atelier: implémentation d'une applicaion en couches
Historique et ouvrages de référenceDomaines d'applicationComment appliquer les Design Patterns
Factory et Abstract Factory pour la création sous conditionSingleton et dérivé: maîtrise des ressources disponibles
Le Composite, comment simplifier les listesProxy et Adapter, les interfaces de l'accès aux méthodesLa Facade: clarifier un composant
Strategy: l'usine à méthodesL'itérateur et ses implémentations existantesObserver: l'événementiel sans événementsChaîne de responsabilités et arbres de responsabilitéVisiteur et accès: maîtrise de la collaborationAperçu d'autres Design Patterns
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis