Esempio n. 1
0
        static void Main(string[] args)
        {
            Director director = new Director();

            IBuilder b1 = new ConcreteBuilder1();
            IBuilder b2 = new ConcreteBuilder2();

            director.Construct(b1);
            Console.WriteLine(b1.GetProduct());

            director.Construct(b2);
            Console.WriteLine(b2.GetProduct());

            Console.ReadKey();
        }
Esempio n. 2
0
        public void Run()
        {
            Director director = new Director();
            Builder  b1       = new ConcreteBuilder1();
            Builder  b2       = new ConcreteBuilder2();

            director.Construct(b1);
            Product p1 = b1.GetProduct();

            p1.Show();

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

            p2.Show();
        }
        // Bu örnekte;
        // ConcreteBuilder => ürün nesnesini oluşturan sınıf. (Her farklı ürün için ayrı bir ConcreteBuilder vardır)
        // Builder => ConcreteBuilder sııflarının ata sınıfı.
        // Product => Ürün nesnesini tutan sınıftır.
        // Director => Ürün oluşumunu yöneten sınıf.

        public static void run()
        {
            string[] partList1 = { "a", "b", "c" };
            string[] partList2 = { "d", "e", "f" };

            Builder builder = new ConcreteBuilder1();

            Director.Construct(builder, partList1);
            Product product1 = builder.GetProduct();

            Console.WriteLine(product1.ToString());

            builder = new ConcreteBuilder2();
            Director.Construct(builder, partList2);
            Product product2 = builder.GetProduct();

            Console.WriteLine(product2.ToString());

            Console.ReadKey();
        }