Example #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)
        {
            Console.OutputEncoding = Encoding.UTF8;

            var defaultSchrank = new Schrank.Builder(3).Konstruiere();

            Console.WriteLine(defaultSchrank);

            var großerSchrank = new Schrank.Builder(7)
                                .AnzahlBöden(6)
                                .MitOberfläche(Oberfläche.Gewachst)
                                .MitKleiderstange()
                                .MitMetallschienen()
                                .Konstruiere();

            Console.WriteLine(großerSchrank);

            var builder = new Schrank.Builder(3);

            // Auf nächste Seit navigieren
            // es vergeht viel Zeit


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


            // Auf nächste Seit navigieren
            // es vergeht viel Zeit

            builder.MitMetallschienen();


            // Auf nächste Seit navigieren
            // es vergeht viel Zeit
            // Es wird bezahlt

            var schrank = builder.Konstruiere();

            Console.WriteLine(schrank);

            builder.AnzahlBöden(6);
            builder.MitKleiderstange();

            Console.WriteLine(schrank);

            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}");
        }