Pendahuluan
Dalam dunia programmasi, berbagai jenis problem identik yang sering dijumpai telah dikenal, di identifikasi dan lebih penting lagi telah di ditemukan pemecahannya. GOF atau Gang Of Four sebuah study group yang terdiri dari para praktisi informatika : Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides mengumpulkan problem-problem tersebut beserta metoda pemecahannya. Dengan mengkhususkan dalam hal pemograman berorientasi objek (OO), mereka membuat sebuah buku berjudul "Design Patterns: Elements of Reusable Object-Oriented Software" yang berisi solusi-solusi beserta penjelasannya. Kemudian dalam perkembangan selanjutnya solusi umum tersebut dikenal dengan nama Design Pattern.Secara formal design pattern dapat didefinisikan seperti berikut ini :
Design pattern adalah solusi umum terhadap masalah masalah yang sering muncul dalam applikasi software.Design Pattern dalam perkembangannya mendapat antusiasme yang cukup besar oleh para praktisi programmasi. Karena design pattern sangat membantu dalam menghasilkan kode yang berkualitas, mudah di jaga dan mudah dikembangkan.
terjemahan bebas dari wiki
Motivasi
Orang lain telah menemukan solusi dari problem anda. Karena itu untuk mempercepat pekerjaan anda, anda tidak perlu lagi berpikir lama lama mencari sebuah solusi yang mungkin hasilnya tidak lebih bagus dari pada solusi yang ada. Anda hanya cukup mengadaptasi solusi umum tersebut sesuai dengan kebutuhan anda. Mungkin ini yang dapat menjadi pertimbangan dalam memulai sebuah konsep dari pengembangan perangkat lunak (software developpement).Selain itu, dengan menguasai penggunaan dan konsep dari design pattern anda akan menguasai pengetahuan yang menjadi dasar dari design pattern. Pengetahuan ini tidak hanya berguna dalam konteks design pattern saja namun juga pada konsepsi arsitektur applikasi perangkat lunak pada umumnya.
Kemudian pada tingkat tertentu, design pattern akan menjadi sebuah bahasa umum antara sesama programmer. Bayangkan dari pada harus menjelaskan lengkap sebuah solusi, kita cukup dapat mengatakan sebuah nama design pattern dan semua orang langsung mengerti.
Terakhir dan yang paling utama, design pattern akan membantu anda dalam membuat konsep object dari applikasi yang sedang dirancang.
Metode Pembelajaran
Untuk menguasai sebuah design pattern tertentu anda tidak perlu menghapal (baik diagram UML, maupun definisi formalnya). Tapi anda harus mengerti apa yang menjadi dasar penggunaannya, mengenali problemasi-problemasi apakah yang cocok dengan design pattern tersebut. Sebelum masuk dan terintegrasi dalam kode anda. Terlebih dahulu prinsip design pattern harus masuk dan terintegrasi di dalam otak anda.Metoda pembelajaran yang di rencanakan adalah :
- Definisi formal dari sebuah design pattern
- Studi kasus penggunaan design pattern
- Contoh dalam bentuk kode java
- Pengembangan design pattern
- Berdiskusi di forum yang disediakan disetiap artikel
- Mengulang sendiri
Daftar Design Pattern
Daftar design pattern dibawah ini dapat bertambah seiring dengan waktu.- Strategy
- Obsever
- Decorator
- Factory
- Singleton
- Command
- Facade
- ….