Design Pattern adalah suatu solusi yang umum dilakukan untuk menangani masalah perancangan software. Permasalahan dalam membuat sebuah perangkat lunak dari sejak awal sejarah perkembangan komputer selalu ada. Permasalahan tersebut dapat berupa hal yang bersifat teknis berhubungan langsung dengan arsitektur perangkat lunak yang dipakai dan juga bersifat perancangan yang lebih bersifat umum. Kedua hal tersebut adalah hal yang wajib dalam pembuatan sebuah perangkat lunak. Bagaimanakah cara untuk mengelola spesifikasi yang ada sekarang secara efisien untuk kemudian mampu untuk menghadapi perubahan dan spesifikasi yang akan datang dalam kontek pembuatan dan pengembangan sebuah sistem adalah sebuah permasalahan lain. Hambatan-hambatan yang sering dijumpai dalam pengembangan perangkat lunak tersebut antara lain:
- Kebutuhan yang akan datang sering tidak bisa dipahami dan merupakan sebuah hal yang sering sekali berubah.
- Usaha untuk menggunakan kembali (reuse) sering kali berujung melibatkan komponen-komponen yang sebenarnya tidak bisa digunakan kembali (not reusable) dan sering kali gagal untuk dilakukan.
- Programer dan sistem analis kehilangan gambaran secara umum tentang apa yang dimaksud dengan kebutuhan yang akan datang.
- Pengembang cenderung melihat permasalahan ke arah permasalahan coding. Pengembang gagal melihat bahwa penyelesaian masalah melalui kekuatan perancangan/desain adalah sesuatu yang patut dipertimbangkan dan merupakan jalur yang tepat.
Pola desain atau pola rancangan (design pattern) adalah
sebuah istilah dalam rekayasa perangkat lunak yang mengacu kepada solusi umum
yang dapat digunakan secara berulang kali untuk menyelesaikan masalah-masalah
umum yang ditemukan dalam desain perangkat lunak. Sebuah pola desain tidak berbentuk
solusi akhir yang dapat langsung diterjemahkan menjadi kode program. Pola desain merupakan penjelasan atau
templat yang menunjukkan bagaimana cara menyelesaikan sebuah masalah yang
kemudian dapat digunakan di berbagai situasi yang berbeda-beda. Pola desain
untuk object-oriented biasanya menunjukkan relasi dan interaksi antar kelas dan
objek, tanpa menjelaskan kelas dan objek akhir yang terlibat dalam sebuah
aplikasi. Algoritma biasanya tidak disebut sebagai pola desain, karena
algoritma menjadi solusi masalah komputasi bukan masalah desain tes.
Design
Pattern yang cukup populer diperkenalkan oleh GOF (Gang Of Four), diantaranya adalah Erich Gamma, Richard Helm, Ralph
Johnson dan John Vlissides. Dalam penjelasan dari Gang Of Four (GoF) terdapat 23 Pattern yang di bagi menjadi 3 kelompok
besar. Diantaranya adalah:
- Creation Patterns (cara Class/object di inisialisasi), yaitu pattern yang menyangkut dengan pembuatan object.Pattern akan menangani pembuatan suatu object, daripada kita menangani pembuatan object secara langsung dan mungkin akan tersebar di dalam code kita. Dengan cara ini program akan lebih fleksibel dalam memutuskan pemakaian object yang dibutuhkan.
- Structural Patterns (Struktur/ relasi antar object/class), yaitu pattern yang menyangkut dengan struktur program. dimana dalam Pattern ini akan lebih konsen ke class objcet composite. akan banyak penggunaan pewarisan to menggabungkan interface dan menjelaskan cara untuk menggabungkan object tujuan membuat fungsionalitas baru.
- Behavior Patterns (Tingkah laku atau fungsi dari class/object), yaitu pattern yang menyangkut tentang kelakuan program. Dimana pada pattern ini akan menjelaskan spesifik tentang komunikasi antar objcet.
Keuntungan Design Pattern adalah:
- Design yang berulang, lebih effisien dari hanya penggunaan code yang berulang.
- Menangani permasalahan yang umum dihadapi oleh system designer.
- Dengan menggunakan Design Pattern akan lebih mudah bagi orang lain memahami apa yang anda lakukan dan mengapa.
- Design
Patter membantu user untuk refactoring code user dengan mudah.
Tidak ada komentar:
Posting Komentar