Le Design Pattern Builder Avec C# Et Dotnet Core

Le Design Pattern Builder est un patron de conception de création qui permet de construire des objets complexes étape par étape. Il permet de produire différentes variations ou représentations d’un objet en utilisant le même code de construction.

L’idée ici est de prendre toutes les étapes de construction de l’objet et de 👍

  • crĂ©er une interface qui reprĂ©sente les Ă©tapes
  • construire des builders diffĂ©rentes
  • avoir un directeur de construction qui chapeaute les Ă©tapes

Deux bonnes pistes pour penser à le mettre en place 👍

  • Un constructeur avec plus de 3 paramètres
  • Des hĂ©ritages par dizaine pour gĂ©rer tous les cas de construction

Construisons une interface qui permet de lister les étapes de la construction d’une partie

internal interface IGameBuilder
    {
        void Reset();
        void PreparePlayer();
        void PrepareEnnemies();
        Game Generate();
    }

Puis un directeur qui consolide le tout

internal class GameDirector
    {
        private readonly IGameBuilder builder;

        public GameDirector(IGameBuilder builder)
        {
            this.builder = builder;
        }

        public Game Build()
        {
            this.builder.PreparePlayer();
            this.builder.PrepareEnnemies();

            return this.builder.Generate();
        }
    }

Et enfin ajoutons un créateur

internal class DefaultGameBuilder : IGameBuilder
    {
        private Game? game = null;
        
        public Game? Generate()
        {
            return this.game;
        }

        public void PrepareEnnemies()
        {
            this.game?.AddEnemy(new Enemy(new Baguette()));
        }

        public void PreparePlayer()
        {
            this.game?.AddPlayer(new Player());
        }

        public void Reset()
        {
            this.game = new Game();
        }
    }

Pour l’utiliser

GameDirector director = new (new DefaultGameBuilder());
Game? game = director.Build();

Yes, ça attire ta curiosité ?

Tu souhaites consolider tes bases en C# ?

Contactez DevToBeCurious — Organisme de formation pour développeurs à Nantes

Notre adresse

1 rue du guesclin
44000 Nantes Loire atlantique France

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639