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# ?

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639