Développeurs C#
Avoir suivi la formation C# Initiation+Approfondissement 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. - Comprendre certains modèles de conception d'entreprise (Repository, Factory, DTO) - Connaître la place et les différences entre les styles architecturaux - Connaître quelques modèles architecturaux (DDD, Clean Architecture...) - Concevoir des applications faiblement couplées et cohésives
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 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 modulaireConception d'un domaine d'affaires (aperçu du DDD)Séparation de l’infrastructure (persistance, UI, ORM, etc.)Principe d’inversion des dépendances (DIP)Entrepôts référentiels (Repositories)Objet de transport (DTO)Présentation de la clean architecture
Atelier: implémentation d'une application en couches
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