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 :
| |
Cette classe est assez simple : c’est un objet immutable qui exécute un certain comportement. Rien de mal ici, mais sa construction ailleurs dans le code peut être un peu pénible, car nous devons savoir comment cette classe fonctionne en interne pour donner les bons paramètres à son constructeur.
| |
Comment pouvons-nous améliorer cette construction, comment pouvons-nous rendre ce type de code plus lisible et donc plus maintenable ? C’est le but du Builder Pattern. Il vous permettra de créer une façon agréable et révélatrice d’intention de construire votre objet :
| |
Notez que toutes les méthodes du builder retournent le builder lui-même, donc nous pouvons composer une Fluent Interface qui améliorera encore la lisibilité.
| |
Notre code pourrait maintenant sembler plus long qu’avant, mais nous avons en fait gagné beaucoup de simplicité, et nous n’avons plus besoin de plonger dans la définition de MyClass pour savoir comment elle se comporte.
Je posterai bientôt un article moins théorique sur ce pattern, restez à l’écoute !

Commentaires
💬 Les commentaires sont partagés entre toutes les versions linguistiques de cet article.