Les design patterns - Behavioral (4/4)

Troisième et dernière catégorie de pattern que je vais aborder, les behavioral patterns ou patrons de comportement. Il en existe 11 et ils permettent de définir comment organiser nos objets pour que ceux-ci collaborent. Si jamais vous les avez ratés, je vous invite à (re)lire les parties précédentes : L'introduction sur les design patterns Les patterns creationals Les patterns structurals Chain of responsibility Ce pattern permet de séparer les objets émetteurs de requêtes et les objets chargés de recevoir et traiter les requêtes.

Continuer

Authentification Azure AD avec ReactJS

J'ai récemment eu besoin de mettre en place une authentification via Azure AD dans une application web ReactJS. Globalement, la procédure est assez simple, mais il y a tout de même quelques subtilités sur lesquelles j'ai perdu pas mal de temps et que je souhaiterais partager ;) Côté client, c'est la librairie ADAL.js (Active Directory Authentication Library for Javascript) qui va nous aider. Microsoft supporte de nombreuses plateformes différentes en fonction des environnements client ou serveur visés (plus d'informations sur ce lien).

Continuer

Les design patterns - Structural (3/4)

Après les patterns creationals (que vous pouvez retrouver ici), je vais maintenant aborder les structural patterns ou patrons de structure. Il en existe 7 et ils permettent de définir comment organiser nos objets. Si vous le souhaitez, vous pouvez retrouver l'introduction sur les design patterns ici. Adapter L'objectif du pattern Adapter est de faire passer quelque chose pour autre chose sans perturber le reste de l'application. Il est ainsi capable de rendre compatible deux éléments ne parlant pas le même langage, par exemple, une application travaillant avec le format XML mais utilisant un service de données qui renvoi du JSON.

Continuer

Les design patterns - Creational (2/4)

Suite à l'article d'introduction, les premiers types de patterns que je vais aborder sont les creational patterns ou patrons de création. Il en existe 5 et ils permettent de définir la manière de faire l'instanciation et la configuration des classes ou des objets de manière souple tout en minimisant le couplage et en maximisant la réutilisation du code. Singleton C'est probablement le design pattern le plus connu et le plus utilisé.

Continuer

Je souhaite revenir aujourd'hui sur un sujet qui, à mes yeux, est très important mais malheureusement assez méconnu des développeurs : les design patterns. Lors des quelques entretiens que j'ai pu faire passer, je me suis rendu compte que cette notion est soit mal maitrisée (quelques mots-clés/buzzword cités ça et là mais sans réelle explication derrière) soit carrément inconnue ! Je trouve ça dommage car c'est quelque chose de très utile dans son travail quotidien et nous allons voir pourquoi dans cet article.

Continuer

C# : Bonnes pratiques

Suite à la rédaction d'un “Guide du développeur” pour ma boite, j'ai eu l'idée de rédiger un article référençant les bonnes pratiques en C#/.NET. L'idée n'est pas de faire une énième liste comme il en existe des dizaines sur le net, mais d'essayer d'apporter des astuces pertinentes et argumentées par rapport à mon expérience. Et surtout, ce que je souhaiterais, c'est d'avoir des retours sur VOS astuces, VOUS lecteurs de mon blog, basées sur VOS expériences.

Continuer

WebAPI et ses utilisations (2) - Construction de notre API

Après avoir présenté .NET Core dans la 1ère partie de cet ensemble d'articles, nous allons désormais rentrer dans le vif du sujet en commençant la construction de notre API web. Qu'est-ce qu'une API ? Si l'on veut faire une analogie, l'API est au développeur ce que l'UI (User Interface) est à l'utilisateur. C'est donc la partie visible et accessible de notre programme, permettant au monde extérieur de saisir des données et de récupérer le résultat des traitements.

Continuer

Débugger facilement un service Windows

En .NET, il arrive encore régulièrement d'avoir à développer des services Windows pour réaliser des traitements. Du coup, se pose rapidement la question du débogage et de ses problèmes… Il est en effet nécessaire de régulièrement démarrer/arrêter le service, ainsi que de l'installer/désinstaller, et ces opérations demandent de passer par différents outils en ligne de commande (installutil, net start…). Cela devient très vide rébarbatif et est chronophage, mais heureusement, il existe quelques astuces très simples pour résoudre ces soucis !

Continuer

Utiliser SQLite à travers .NET

Dans le cadre de plusieurs projets, j'ai été amené à utiliser une base de données SQLite dans un contexte .NET. C'est une technologie très intéressante dans le cas où l'on a besoin d'embarquer un stockage de données simple et léger dans une application cliente. Je souhaite revenir avec vous sur le fonctionnement de cette technologie et son utilisation avec l'ORM SQLite.NET. Qu'est-ce que SQLite ? SQLite est un moteur de base de données relationnelles écrit en C dans les années 2000 par Richard Hipp.

Continuer

Mesure de performance en C#

Aujourd'hui, je souhaite partager avec vous une petite astuce très simple et rapide. Lors de mes projets, j'ai souvent besoin de mesurer la durée d'exécution d'un bloc de code pour générer des statistiques ou faire de l'optimisation de performance. Généralement, j'utilise la classe C# “Stopwatch” qui fait très bien le job mais est un peu lourde à utiliser toute seule. Je me suis donc amusé à écrire un petit outil me permettant de faciliter et simplifier cette tâche :

Continuer

Photo de l'auteur

Matthieu Anceret

Blog d'un développeur Tourangeau passionné
Architecte logiciel chez C2S (groupe Bouygues), je suis passionné par tout ce qui touche à la technologie et la mobilité, et plus particulièrement à l'univers Android.Féru de domotique et de ses aspects multimédia, la moindre occasion est bonne pour tester et expérimenter les dernières nouveautés dans ce domaine.À travers ce blog, j'espère vous transmettre ma passion et mes connaissances. Bonne lecture !

Software Architect @C2SBouygues

France, Tours