Les "dumps" mémoire en 5 min

Lorsqu’un bug se produit en production, il n’est pas toujours facile de reproduire le problème sur une plateforme de dévelopement pour le corriger ensuite. Sur certaines applications, il peut être récurrent d’échouer à trouver le scénario exact qui permet de révéler le bug. Si ce problème se présente régulièrement, une possibilité est de générer un…

Continuer à lire

"ConcurrentDictionary" en 5 min

A partir du framework 4.0, la structure de données "ConcurrentDictionary" permet de stocker des objets rangés par clé tout en autorisant des accès provenant de "threads" multiples sans se préoccuper des problématiques de synchronisation. Son utilisation est très similaire à celle du dictionaire mise à part qu’elle possède des méthodes pour guider l’implémentation et s’affranchir…

Continuer à lire

Design pattern: Service Locator

Objectif: Proposer une implémentation simple de l’inversion de contrôle Justification Lorsqu’un objet doit utiliser une compétence implémentée dans un autre objet, la première approche est d’instancier cet autre objet et de l’utiliser au moyen de ces membres publiques. Par exemple, si on prends la classe suivante: public class ConsumingObject { private ConsumedObject consumedObject; public ConsumingClass()…

Continuer à lire

Versions des composants .NET

Sommaire 1. Synthèse des versions des composants du Framework .NET  Remplacement du Framework 4.0 par la version 4.5    Comment indiquer qu’une application nécessite le Framework 4.5 ?    Comment déterminer la version du framework installé ?    Chemin des assemblies du Framework .NET  Emplacement de MSBuild 2. Synthèse des fonctionnalités par version  Framework  Compilateur C# 3. Dates…

Continuer à lire

Fichier de configuration en .NET en 10 min

Fichier de configuration simple Ajouter un fichier à un projet avec Visual Studio Clique droit sur le projet => Add => New item => Application configuration file. Le fichier rajouté sera appelé "App.config". Lorsqu’il sera copié dans le répertoire de l’exécutable, il sera nommé: "[nom de l’exécutable].exe.config". Le contenu du fichier sera: <?xml version=”1.0″ encoding=”utf-8″…

Continuer à lire

Design pattern: Façade

Objectif: Simplifie l’interface d’une ou plusieurs classes Justification Problème Lorsqu’une interface doit être consommée par une classe cliente, il est courant de vouloir simplifier cette interface: – pour cacher la complexité de l’implémentation interne et présenter une interface simple à utiliser, – simplifier l’appel à beaucoup d’objets internes en ne proposant qu’une interface unique, –…

Continuer à lire

Design pattern: Adapter

Objectif: Convertir l’interface d’une ou plusieurs classes pour qu’elle soit adaptée à un ou plusieurs clients. Justifications Problèmes Le besoin de présenter différemment un objet à une autre classe qui le consomme peut se justifier par plusieurs raisons: – On veut présenter un objet plus adapté aux besoins de la classe cliente, de façon à…

Continuer à lire

Design pattern: Visiteur

Objectif: Permettre d’appliquer des comportements spécifiques à un ou plusieurs objets et être sûr que tous les types d’objets sont pris en compte Justification Problèmes On possède une liste hétérogère d’objets, par exemple une liste de véhicules: voiture, moto, etc… On souhaite appliquer des comportements sur ces objets comme: – "ajouter des passagers", – "ajouter…

Continuer à lire