Monday, January 4, 2016

PROTOTYPE PATTERN




Prototype Pattern adalah creational design pattern yang digunakan dalam pengembangan perangkat lunak ketika jenis objek untuk menciptakan ditentukan oleh contoh prototipikal, yang diklon untuk menghasilkan objek baru.
Intinya prototype itu digunakan untuk menentukan jenis objek dalam membuat objek baru dengan meng-cloning atau meng-gandakan, sehingga hasil yang di-cloning mirip dengan objek aslinya.
Prototype pattern dapat digunakan ketika :
-            Aplikasi harus independen dari bagaimana produk dibuat maupun disusun.
-           Objek yang dibutuhkan hanya dikenal saat run-time.
-            Sebuah aplikasi membutuhkan class yang berbeda.
  Class untuk instansiasi ditentukan saat run time.



 
keterangan : 
-          Prototype : interface atau class abstrak Mendeklarasikan sebuah interface untuk mengklon dirinya.

-           ConcretePrototype : Mengimplementasikan sebuah operasi untuk mengklon dirinya sendiri. Class ini mengimplementasikan interface prototype dengan mendefinisikan metode klon, ketika method klon dari objek ConcretePrototype dipanggil, ia mengembalikan salinan objek tersebut.·

-          Client :Menciptakan object baru dengan meminta prototype untuk mengklon dirinya dengan menyediakan objek ConcretePrototype baru. Metode kloning didefinisikan dalam setiap class ConcreteProtoype.
 
contoh :

using System;


namespace prototype
{
    interface prototypee
    {
        prototypee Ganda();
    }
     
    class Utama : prototypee
    {
        public Utama(string name)
        {
            this.name = name;
        }
         
        private string name;
         
        public prototypee Ganda()
        {
            return new Utama(name);
        }
         
        public string ToString()
        {
            return "Wanita ini namanya "+this.name;
        }
    }
     
    class Program
    {
        public static void Main(string[] args)
        {
            Utama saya = new Utama("Rita Aris Kurniasari");
            Console.WriteLine("Wanita Mahasiswi STIKOM, "+saya.ToString());
            Utama sayaa = (Utama)saya.Ganda();
            Console.WriteLine("Wanita Pegawai Bank, "+sayaa.ToString());
            Console.WriteLine();
             
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
} 

No comments:

Post a Comment