Monday, January 4, 2016

BUILDER PATTERN




Builder Pattern adalah sebuah software design pattern.Tujuannya adalah sebagai adalah sebagai langkah-langkah abstract kerangka (kontruksi) object ,jika suatu implementasi menggunakan langkah-langkah yang berbeda, maka akan membuat representasi object yang berbeda juga.
Builder Pattern sering digunakan untuk membangun produk sesuai dengan sebuah pola struktur Composite Pattern, dengan cara memisahkan pembangunan kompleks object dari representation, sehingga proses konstruksi yang sama dapat membuat representation yang berbeda.
Istilah dalam Builder Pattern :
– Builder– Concrete Builder– Director– Product

Penggunaan Builder Pattern :
Builder berfokus pada membangun langkah demi langkah obyek yang kompleks. Pabrik Abstrak menekankan keluarga benda produk (baik sederhana atau kompleks). Builder kembali produk sebagai langkah terakhir, tetapi sejauh sebagai Pabrik Abstrak yang bersangkutan, produk yang akan dikembalikan segera.
Builder sering membangun Komposit.Seringkali, desain mulai menggunakan Metode Pabrik (kurang rumit, lebih disesuaikan, subclass berkembang biak) dan berkembang ke arah Pabrik Abstrak, Prototype, atau Builder (lebih fleksibel, lebih kompleks) sebagai desainer menemukan di mana fleksibilitas lebih dibutuhkan.
Terkadang pola penciptaan saling melengkapi: Builder dapat menggunakan salah satu pola lain untuk melaksanakan komponen yang dibangun. Pabrik Abstrak, Builder, dan Prototipe dapat menggunakan Singleton dalam implementasi mereka. Pembangun adalah kandidat yang baik untuk antarmuka yang tepat.



 

contoh :
using System;

namespace builderrr
{
    class Atas
    {
        public void Construct(Kanan kanan)
        {
            kanan.execute();
        }
    }
    //builder interface
    interface Kanan
    {
        void execute();
    }
     
    //concrete classes uses builder interface and implement it
    class KananA : Kanan
    {
        public void execute()
        {
            Console.WriteLine("MAHASISWA STIKOM PGRI BANYUWANGI");
        }
    }

    //concrete classes
    class KananB : Kanan
    {
        public void execute()
        {
            Console.WriteLine("DOSEN STIKOM PGRI BANYUWANGI");
        }
    }

    //main program

    class Program
    {
        public static void Main(string[] args)
        {
            Atas aa = new Atas();
            Kanan satu = new KananA();
            aa.Construct(satu);
            Console.WriteLine();
             
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

No comments:

Post a Comment