Monday, January 4, 2016

ADAPTER PATTERN



Adapter Pattern adalah adalah salah satu pattern yang termasuk ke dalam structural pattern. Adapter pattern berfungsi untuk menggunakan kembali method yang sudah digunakan pada kelas sebelumnya, terhadap kelas baru yang akan kita buat.
Apabila dalam sebuah project terdapat beberapa objek yang sama, maka Adapter ini mempunyai cara untuk meng-akses objek – objek tersebut.Dalam Adapter Pattern diharapkan dapat mengkonversi interface dari sebuah kelas menjadi antarmuka klien satu dengan yang lainnya. Akan tetapi adapter memungkinkan kelas hanya bekerja dengan suatu class yang memiliki type yang sama karena interface yang dimaksud tidak kompatibel dengan class yang sedang di akses. Sehingga diperlukan suatu space kelas yang ada dengan interface yang baru.Dalam hal ini sebuah space yang terdiri dari komponen class-class menawarkan fungsionalitas yang meyakinkan bahwa end-user ingin menggunakan atau mengakses kembali objek-objek tersebut kembali.



http://sciencecatcit.blogspot.co.id/
STRUKTURADAPTER PATTERN  

Konteks:
1.      Diinginkan untuk menggunakan suatu class dengan antarmuka (method-method public) tertentu tanpa mengubah definisi class tersebut. Class ini kita sebut adaptee.
2.      Konteks permasalahan dimana kita ingin menggunakan class ini membutuhkan antarmuka yang berbeda dari yang dimiliki class adaptee. Antarmuka yang diperlukan untuk ini kita sebut target.
3.      Antarmuka untuk target dan antarmuka yang dimiliki adaptee secara konsep berkaitan.

Solusi:
1.       Antarmuka yang dibutuhkan client (target) didefinisikan sebagai interface dengan method-method yang dibutuhkan untuk menyelesaikan tugas.
2.      Definisikan sebuah class adapter yang mengimplementasikan interface target ini.
3.      Class adapter memiliki referensi terhadap objek adaptee (relasi compose a.k.a HAS_A).
4.      Class adapter menerjemahkan method yang dideklarasikan pada interface target ke dalam method dari adaptee.
5.       Client membungkus objek adaptee ke dalam objek adapter. Client melaksanakan tugasnya dengan memanggil method adapter, dan adapter menerjemahkannya dengan memanggil method adaptee yang bersesuaian.


contoh :
using System;

namespace adapter
{
    class Baru
    {
        public void Matkul_1()
        {
            Console.WriteLine("...Software Modelling...");
        }
    }
     
    class Lama
    {
        public virtual void Matkul_2()
        {
            Console.WriteLine("..Web Fundamental..");
        }
    }
     
    class adapter : Lama
    {
        private Baru bb = new Baru();
        public override void Matkul_2()
        {
            bb.Matkul_1();
        }
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Mata kuliah yang akan diajar : ");
            Lama la = new adapter();
            la.Matkul_2();
            Console.WriteLine();
             
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

No comments:

Post a Comment