void Run()
        {
            // Instantiate the director and builders
            Director director = new Director();
            Builder  b1       = new ConcreteBuilder1();
            Builder  b2       = new ConcreteBuilder2();

            // Construct the two products
            director.Construct(b1);
            Product p1 = b1.GetProduct();

            p1.Show();

            director.Construct(b2);
            Product p2 = b2.GetProduct();

            p2.Show();

            Console.Read();
        }
        void Run()
        {
            // Instantiate the director and builders
            Director director = new Director();
            Builder b1 = new ConcreteBuilder1();
            Builder b2 = new ConcreteBuilder2();

            // Construct the two products
            director.Construct(b1);
            Product p1 = b1.GetProduct();
            p1.Show();

            director.Construct(b2);
            Product p2 = b2.GetProduct();
            p2.Show();

            Console.Read();
        }