Rabu, 24 April 2013

Adapter Pattern

,

Kegunaan umum :
Menurut Gang of Four, Adapter patter digunakan untuk mengkonversi nama nama fungsi dan nama agar cocok dengan yang diinginkan oleh client (kelas yang akan menggunakan). Adapter memungkinkan kelas untuk bisa bekerja bersama sama walaupun sebelum tidak memungkinkan Karen a perbedaan nama nama fungsi dan variabel.
Konteks :
  • -          Diinginkan untuk menggunakan suatu class dengan antar muka (method-method public) tertentu tanpa mengubah definisi class tersebut. Class ini kita sebut adaptee.
  • -          Konteks permasalahan dimana kita ingin menggunakan class ini membutuhkan antar muka yang berbeda dari yang dimiliki class adaptee.Antarmuka yang  diperlukan  untuk kita sebut target.
  • -          Antarmuka untuk target dan antarmuka yang dimiliki adaptee secara konsep berkaitan.

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

Desain umum class diagram Adapter :




Selasa, 16 April 2013

Builder pattern

,

Builder Pattern adalah sebuah software design pattern. Tujuannya 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.

Abstract Factory Pattern

,


Abstract Factory Pattern (AFP) merupakan salah satu jenis Creational Pattern yang menangani mekanisme penciptaan object secara adaptif Abstract Factory menyediakan sebuah interface untuk menciptakan keluarga yang terkait atau object yang tergantung tanpa menentukan concrete class mereka.

Abstract Factory mampu pengenkapsulasian sekelompok factory, dimana masing-masing factory memiliki “motif” khasnya. AFP menjadi sentral penentuan factory yang akan diinisialisasi sehingga product yang diciptakan dapat mewarisi behaviour yang sesuai dengan motif yang dipilih. Keistimewaan lain adalah product yang diciptakan terbebas dari pernyataan penciptaan concrete class secara langsung. Hal ini memberikan keuntungan yaitu AFP dapat mencegah coupling problem yang pasti terjadi apabila penciptaan object memakai operator new dalam bahasa OOP.

Factory Method Pattern

,


Dengan membuat Factory Method dan mendefinisikan sebuah class interface, kita bisa men-
generate object yang dinamis sesuai kebutuhan dan implementasi yang diinginkan. Harap di-ingat lagi,
ruang lingkup dari Factory Method adalah class, Factory Method sendiri adalah class object yang static.
Contoh di bawah menggambarkan bagaimana ObjectFactory memanfaatkan class interface object menjadi lebih dinamis. Contoh lain implementasi pattern ini adalah BorderFactory atau SocketFactory yang merupakan standart package Java API.
Observer Pattern menerapkan mekanisme Publisher dan Subscriber untuk mengatur bagaimana sebuah object mengetahui perubahan state di object lainnya.