Tentang Design Pattern
Secara singkat, design pattern adalah sebuah solusi untuk mengulang masalah design. Solusi ini telah dikembangkan, dikompile, dan disaring oleh programmer yang sebelumnya telah menghadapi masalah ini. Sebuah design pattern adalah salah satu jenis petunjuk yang menggunakan tipe "Jika Anda memiliki masalah ini, maka lakukan ini." Hal tersebut serupa dengan sebuah algoritma :Perbedaan antara sebuah Design pattern dan sebuah algoritma adalah bahwa algoritma fokus pada implementasi solusi, sebuah algoritma biasanya mendaftar dari atas ke bawah menuju ke tahap akhir dari action-action yang terurut dimana yang dibutuhkan untuk menghasilkan sebuah solusi. Sebuah pattern memusatkan untuk menghasilkan beberapa Design.
Hal tersebut memberitahu kepada pengembang apa yang harus diperbuat sebagai lawan dari bagaimana cara melakukannya. Mungkin tidak terlihat langsung hasilnya, tetapi kita telah siap menggunakan beberapa Design pattern dalam pembahasan Kita sebelumnya. Satu, Kita telah belajar secara detail pattern dari Model-View-Controller : diberikan sebuah masalah interaksi gabungan yang begitu kompleks antara presentasi dan layer business, Hal itu menentukan pemisahan kode menjadi tiga layer terpisah seperti interaksi-interaksi mereka. Ingat, pattern itu sendiri tidak mendikte implementasi, hanya dijelaskan sebuah solusi Design. Kita harus melaksanakan pattern MVC manapun untuk untuk menggunakan framework third-party.
Design pattern dapat dibagi menjadi 3 kelompok yaitu:
1. Creational design pattern
Pattern ini hanya berbicara tentang bagaimana meng-instance sebuah kelas. Secara teori memang mudah untuk membuat object tetapi cara yang mudah tersebut belum tentu efektif. Adapun jenis-jenis dari creational design pattern adalah Abstract Factory, Builder, Factory Method, Object Pool, Prototype,Singleton. Dari sekian banyak jenis-jenis tersebut ada yang memiliki fungsi yang sama dan saling melengkapi.
2. Structural design patterns
Tujuan pattern ini untuk membuat class composite atau object composite. Tujuan utamanya adalam mempermudah dalam mendefinisi kan cara untuk meng-compose object untuk fungsionalitas yang baru. Adapun contoh dari pattern ini adalah : Adapter pattern, bridge pattern, composite pattern, Decorator, Facede, Flyweight, Proxy.
3. Behavioral design patterns
Pattern ini adalah bertujuan untuk menangani kominikasi antar kelas atau object. Adapun contoh dari pattern ini adalah : Chain of responsibility, Command, Interpreter, Iterator, Mediator, Observer, strategy.
Keuntungan Design pattern:
Pengetahuan dalam design pattern mempunyai beberapa manfaat yaitu :
- Memberikan komunikasi yang lebih baik antar programmer. Mempunyai pengetahuan design pattern memberikan programmer sebuah kosa kata baru yang dapat untuk mengekspresikan mereka sendiri kepada programmer. Sebagai ganti menguraikan sebuah masalah atau solusi secara detail, programmer dapat menyebutkan dengan mudah design pattern yang relevan.
- Menambah pengetahuan yang telah ada. Mempunyai pengetahuan tentang Design pattern membiarkan Kita untuk menggunakan solusi dari programmer berbakat sebelumnya. Terdapat sangat banyak Design pattern yang telah didokumentasikan dimana Kita siap menambah gudang ilmu pengetahuan Kita. Pada pembahasan ini, Kita akan fokus pada Design pattern yang telah terbukti bermanfaat dalam pembuatan aplikasi web.
Tujuan Design Pattern:
Tujuan dibangun Design pattern (Implisit)
Berlandaskan prinsip OOP yaitu abstraksi, polimorphisme, inheritance, composition, Loose-Coupling, dan fleksibel
Tujuan dibangun Design pattern (eksplisit)
1. menemukan objek yang sesuai dalam mengartikan suatu permasalahan,kemudian objek tersebut dapat anda jadikan solusi dalam memecahkan masalah tersebut
2. patterns dapat mudah menyederhanakan kerumitan proses dari sejumlah komposisi yang harus diterapkan
3. patterns membantu mengartikan objek tertentu,untuk memahami dan mengerti setiap implementasi dari suatu permasalahan yang terjadi.
4. dapat digunakan secara berulang. (Reusability)
5. mendukung ekstensi atau penambahan fitur pattern dalam perkembangan yang terjadi.
Demikian sedikit ulasan saya tentang desaign pattern,semoga dapat berguna bagi para pembaca....THANKS
Sumber: google.co.id
id.wikipedia.org