Exemple #1
0
        static void Main(string[] args)
        {
            var schrank = new Schrank.Builder(4)
                          .MitOberfläche(Oberfläche.Gewachst)
                          .MitMetallschienen()
                          .MitKleiderstange()
                          .MitEinlegeböden(3)
                          .Konstruiere();

            var builder = new Schrank.Builder(2);

            // nächste Seite - einige Zeit später
            builder.MitOberfläche(Oberfläche.Lackiert);

            // nächste Seite - einige Zeit später
            builder.InFarbe(Farbe.Blau);

            // nächste Seite - einige Zeit später
            builder.MitEinlegeböden(0);

            // nächste Seite - einige Zeit später
            builder.MitMetallschienen();

            // bezahlen
            var bezahlterSchrank = builder.Konstruiere();

            Console.WriteLine(bezahlterSchrank.AnzahlBöden);
            Console.ReadKey();

            builder.MitEinlegeböden(Schrank.MaxBöden);
            Console.WriteLine(bezahlterSchrank.AnzahlBöden);


            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            var defaultSchrank = new Schrank.Builder(5).Build();

            var customSchrank = new Schrank.Builder(3)
                                .MitOberfläche(Oberfläche.Unbehandelt)
                                .MitBöden(3)
                                .MitKleiderstange()
                                .MitMetallschienen()
                                .Build();

            var webSchrankBuilder = new Schrank.Builder(Schrank.MinTüren);

            // nächste Seite
            // es vergeht viel Zeit

            webSchrankBuilder.MitOberfläche(Oberfläche.Lackiert);

            // nächste Seite
            // es vergeht viel Zeit

            webSchrankBuilder.InFarbe(Farbe.Blau);


            webSchrankBuilder.MitBöden(Schrank.MinBöden);

            // nächste Seite
            // es vergeht viel Zeit
            // es wurde bezahlt

            var schrank = webSchrankBuilder.Build();

            Console.WriteLine($"Anzahl Böden nach dem Bezahlen: {schrank.AnzahlBöden}");


            webSchrankBuilder.MitBöden(Schrank.MaxBöden);
            Console.WriteLine($"Anzahl Böden nach Hacken Bezahlen: {schrank.AnzahlBöden}");
        }