Antoine Sauvinet — Technology Executive & Entrepreneur
FR | EN
Blog CV Contact

[EnhanceYourCode] : le Builder Pattern, Partie 2

Bonjour, Dans l’article précédent, nous avons exploré la théorie du Builder pattern. Voyons un exemple plus concret : Supposons que nous construisons le modèle de base d’un jeu de rôle (RPG). Voici les règles de base : Un joueur peut être un Héros : un Guerrier, un Mage, ou un Voleur (on garde ça simple) Chaque Héros a 4 caractéristiques principales : Santé, Force, Esprit et Vitesse, comptées en points. Les Héros ont un Niveau, et les caractéristiques de départ sont basées sur ce niveau (Santé commence à Niveau * 10, Force et Esprit commencent à Niveau * 5, et Vitesse commence à Niveau * 3) Le Guerrier a un Modificateur (+2 Force, -2 Esprit), le Mage a un Modificateur (+2 Esprit, -2 Force) Le joueur peut améliorer 2 Caractéristiques de 1 point chacune ou 1 caractéristique de 2 points, afin de personnaliser son Héros. Une implémentation naïve de la classe Hero serait : ...

septembre 16, 2015 · 7 min · 1354 mots · oinant

[EnhanceYourCode] : le Builder Pattern

Bonjour, Dans cet article, j’aimerais vous présenter le Builder pattern et comment je l’utilise dans mon code C#. Le Builder Pattern est un Creational design pattern, comme le Factory Method Pattern que j’ai déjà couvert dans cet article précédent. Son objectif principal est de fournir un DSL léger pour construire des objets en définissant des propriétés de démarrage, en séparant le processus de construction d’un objet de l’objet lui-même. Essentiellement, l’idée est de créer une classe avec des champs mutables, qui seront initialisés avec des méthodes dédiées, et une méthode finale qui crée l’objet lui-même à partir de ces valeurs. Voici un exemple abstrait : ...

septembre 9, 2015 · 3 min · 623 mots · oinant

[Node.js] Construire un gestionnaire de processus propre

Dans cet article, je vais démontrer comment construire un gestionnaire de processus simple et maintenable pour Node.js, en tirant parti de son Event Loop. L’idée principale est d’avoir un processeur central capable d’exécuter une série de tâches, de manière synchrone. Comme vous le savez peut-être, JavaScript est par essence un langage asynchrone. Prenons un exemple simple : 1 2 3 4 5 6 7 8 function CrawlingAWebPageAndGetLinks(){ // do the stuff the method pretend; } (function program(){ var result = CrawlingAWebPageAndGetLinks(); console.log(result); })(); Comme le flux d’exécution est asynchrone, la variable result ne sera pas valorisée avant que la méthode de crawling ne se termine, et l’utilisation de la variable se produira avant sa valorisation. La solution standard en JavaScript pour gérer ce problème est d’utiliser une méthode callback : ...

août 30, 2015 · 4 min · 845 mots · oinant

[EnhanceYourCode] : the Factory Method Pattern

Le Factory Method pattern est l’un des design patterns de création les plus utiles. Il permet de déléguer la création d’un objet à une classe dédiée, améliorant la testabilité et respectant le principe de responsabilité unique.

juillet 22, 2015 · 6 min · 1138 mots · oinant