Prenez contact avec nous
 Durée 35 heures

Plan du cours

Des compétences langagières à la conception de solutions

  • Fonctionnalités avancées de C# et leurs implications en matière de conception.
  • Récupération de l'intention de conception à partir d'un code existant.

Analyse des exigences et modélisation du domaine

  • Cas d'utilisation, user stories et critères d'acceptation.
  • Modèles de 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 des motifs créatifs, structurels et comportementaux.
  • Motifs et anti-motifs dans le code existant.

Styles d'architecture et prise de décisions techniques

  • Comparaison des architectures en couches, hexagonale et propre.
  • 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 frontières orientées services.

C# moderne pour un code maintenable

  • Appariement de motifs, enregistrements et types de référence nulle.
  • Génériques, LINQ et composition fonctionnelle.

Gestion des exceptions, journalisation et observabilité

  • Stratégie d'exceptions et contrats d'erreur.
  • Journalisation structurée, corrélation et contrôles d'intégrité.

Réflexion, attributs et méta-programmation

  • Conception par attributs et cas d'utilisation de la réflexion.
  • Générateurs de 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 d'erreur.
  • Contrats d'API avec OpenAPI.

Sécurisation des applications .NET

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

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

  • Modélisation STRIDE et limites de confiance.
  • Revue de conception sécurisée avant la mise en œuvre.

Accès aux données avec Entity Framework Core

  • Modélisation des entités et des relations.
  • Cycle de vie du 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é.
  • Transactions, jetons de concurrence et contournement de EF.

Concurrence et programmation asynchrone

  • Tâches, TPL et pièges d'async/await.
  • Synchronisation, annulation et sûreté des threads.

Optimisation des performances

  • Profilage et étalonnage avec BenchmarkDotNet.
  • Mémoire, allocations et gestion des objets orphelins.
  • Stratégies de cache et tests de charge.

Stratégie de test à travers les couches

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

Déploiement et préparation opérationnelle

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

Projet final : Revue de conception et mise en œuvre

  • Revue d'architecture d'une application de cas d'étude.
  • Mise en œuvre et refactorisation d'une tranche de fonctionnalité.

Pré requis

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

Public visé

  • Développeurs .NET
  • Ingénieurs logiciels et chefs de projet technique
  • Développeurs se tournant vers des rôles de conception d'applications

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires