Prenez contact avec nous
 Durée 35 heures

Plan du cours

De la maîtrise du langage à la conception de la solution

  • Fonctionnalités avancées de C# et leurs répercussions sur la conception.
  • Récupération de l’intention de conception à partir de code existant.

Analyse des exigences et modélisation du domaine

  • Cas d’utilisation, histoires utilisateur et critères d’acceptation.
  • Modèles du domaine et langage universel.

Principes de conception logicielle

  • Principes SOLID appliqués aux solutions .NET.
  • Couplage, cohésion et direction des dépendances.

Motifs de conception pour les applications .NET

  • Choix entre motifs de création, structurels et comportementaux.
  • Motifs et anti-motifs dans le code existant.

Styles d’architecture et prise de décision technique

  • Comparaison de l’architecture en couches, hexagonale et propre (clean architecture).
  • Registres de décisions d’architecture et analyse des compromis.

Planification de la structure de la solution

  • Organisation des solutions et des projets pour les grandes bases de code.
  • Monolithe modulaire par rapport aux limites orientées services.

C# moderne pour un code maintenable

  • Appariement de motifs (pattern matching), enregistrements (records) et types de référence nuls.
  • Génériques, LINQ et composition fonctionnelle.

Gestion des exceptions, journalisation et observabilité

  • Stratégie d’exceptions et contrats d’erreurs.
  • Journalisation structurée, corrélation et contrôles de santé.

Réflexion, attributs et métaprogrammation

  • Conception basée sur les attributs et cas d’utilisation de la réflexion.
  • Générateurs de code source et génération de code au moment de la compilation.

Fondamentaux d’ASP.NET Core

  • Modèle d’hébergement, injection de dépendances et configuration.
  • Pipeline de requêtes, middleware et filtres.

Conception des API REST

  • Modélisation des ressources et sémantique HTTP.
  • Versionnage, validation et réponses aux erreurs.
  • Contrats d’API avec OpenAPI.

Sécurisation des applications .NET

  • Authentification et autorisation avec OpenID Connect.
  • Autorisation basée sur les politiques et gestion des secrets.

Modélisation des menaces et conception sécurisée

  • Modélisation STRIDE et frontières de confiance.
  • Examen de la conception sécurisée avant l’implémentation.

Accès aux données avec Entity Framework Core

  • Modélisation des entités et des relations.
  • Durée de vie de DbContext et stratégie de migration.

Performance des requêtes et architecture des données

  • Stratégies de chargement et pièges du chargement anticipé (eager loading).
  • Transactions, jetons de concurrence et contournement d’EF.

Concurrence et programmation asynchrone

  • Tâches, TPL et pièges de async/await.
  • Synchronisation, annulation et sécurité des threads.

Optimisation des performances

  • Profilage et tests de référence avec BenchmarkDotNet.
  • Mémoire, allocations et collecte des ordures (garbage collection).
  • Stratégies de cache et tests de charge.

Stratégie de test à travers les couches

  • Limites des tests unitaires, d’intégration et de bout en bout.
  • Architecture testable et doubles de test.

Déploiement et préparation opérationnelle

  • Conteneurs, configuration et pipelines CI/CD.
  • Diagnostic en production et sécurité des livraisons.

Projet final : Examen de la conception et implémentation

  • Examen de l’architecture d’une application de cas.
  • Implémentation et refactorisation d’une tranche de fonctionnalité.

Pré requis

  • Expérience en programmation C#
  • Connaissances fonctionnelles de la programmation orientée objet
  • Connaissances de base de SQL et des bases de données relationnelles

Public cible

  • Développeurs .NET
  • Ingénieurs logiciels et responsables techniques
  • Développeurs évoluant vers des rôles de conception d’applications

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires