Posséder des connaissances des différents langages et bibliothèques .NET n'est malheureusement pas suffisant pour développer des applications robustes. Les pratiques éprouvées et les design patterns, élaborés à partir de l'expérience des experts, vous aident à construire des applications sur des fondations solides. Ce cours vous apporte les compétences dont vous avez besoin pour résoudre les problèmes concrets du développement logiciel et produire des applications rapides et fiables.
Programmeurs, architectes système et tous ceux qui développent des applications .NET.
Programme :
Introduction
Création de code grâce aux bonnes pratiques
Simplification des logiciels grâce aux design patterns
Conception par contrat
Simplification de la programmation d'applications complexes grâce à des Design Patterns éprouvés
Application d'interfaces simples à des algorithmes complexes
Unification des interfaces à partir de sous-systèmes pour faciliter l'utilisation
Mise en œuvre du pattern Façade
Modulation des fonctionnalités par programmation sur les interfaces
Amélioration de la flexibilité et de la capacité d'adaptation de votre application
Utilisation du pattern Strategy
Altération dynamique du comportement d'un objet
Extension des fonctions sans impact sur le code existant
Invocation du pattern Decorator
Réutilisation et flexibilité
Définition d'un schéma de base pour un algorithme
Utilisation du pattern Template Method
Interfaçage de classes incompatibles
Transformation d'une interface pour ajouter de la valeur à du code existant
Exploitation du pattern Adapter
Application des techniques de développement piloté par les tests
Automatisation du test par unités
Réduction des cycles de développement grâce aux tests automatisés
Amélioration de la qualité grâce aux tests
Suppression des erreurs grâce aux tests réutilisables
Intégration des tests et de l'écriture du code
Conception de code en s'aidant de la programmation dirigée par les tests
Génération de notifications et d'avertissements pour une meilleure qualité du code
Utilisation de NUnit pour l'organisation, la coordination et l'exécution des tests
Architecture d'une application multiniveau
Conception de l'architecture d'une application
Architectures en couches pour faciliter la réutilisation, l'évolutivité et la longévité
Accès aux données à partir de la couche métier
Découplage de l'instanciation des objets grâce au pattern Factory
Gestion des états dans des applications distribuées
Programmation des niveaux de l'application
Structure d'une application ''client Web'' ou ''client riche'' avec le pattern Observer
Construction de classes de base et d'interfaces professionnelles réutilisables
Gestion des états d'une application avec le pattern State
Mise en œuvre des bonnes pratiques
Configuration de la sécurité d'accès au code
Autorisation d'exécution
Jeux de permissions
Niveau de confiance
Groupes de code
Preuves
Demandes de permissions
Accès au stockage isolé
Sécurité basée sur le rôle
Authentification et autorisation
Identités
Principes
Rôles
Garantir un accès sécurisé aux données
Prévention des attaques SQL par injection
Bonnes pratiques de connexion à la base de données
Bonnes pratiques de conception de classes
Éviter la rigidité grâce au principe ouvert/fermé
Extraction de nouvelles classes à l'aide du principe de responsabilité unique
Utilisation efficace de l'héritage
Automatisation des tâches répétitives et optimisation des performances
Utilisation des attributs personnalisés et de la réflexion
Introspection des objets à l'exécution
Programmation et détection d'attributs personnalisés
Amélioration du code de l'application
Application de bonnes pratiques avec FxCop
Techniques de codage pour des applications plus rapides