Perkenalan Design Pattern

Sebelum anda masuk ke design pattern ada baiknya anda membaca OOP atau hanya lihat ringkasan tentang OOP

Apa Itu Design Pattern:


Design Pattern adalah solusi yang dapat di gunakan berkali-kali(bisa di bilang reusable) yang bisa di aplikasikan ke masalah-masalah yang ada di dalam pembuatan software design. Salah satu cara untuk melihat pattern adalah template untuk menyelesaikan masalah(maksudnya langkah-langkah yang terstruktur sehingga bisa di ibaratkan template) yang bisa di gunakan di situasi yang berbeda.

Untuk artikel-artikel ke depan akan banyak membahas permasalahan pattern. Apa fungsinya dan bagaimana menggunakan. Jika anda bekerja sebagai programmer maka pattern akan sangat berguna untuk karir mu atau proyek-proyek pribadi anda.

Siapa sih yang butuh design pattern?

Design Pattern sangat berguna untuk professional developers yang ingin mendalami lebih permasalahn design pattern dan bagaimana cara menggunakannya dalam bahasa pemerogramman.

Alasan kenapa pattern itu sangat penting di karenakan pattern memiliki tiga keuntungan.


  1. Pattern sebagai solusi yang terbukti--Pattern menyediakan pendekatan yang solid untuk menyelesaikan issue dalam software development.
  2. Pattern bisa di gunakan berulang-ulang--Pattern biasanya merefleksikan solusi di luar box yang bisa anda adaptasi sesuai dengan kebutuhan anda.
  3. Pattern lebih expressif -- Jika anda melihat Pattern, Pattern terdiri dari sebuah set struktur dan 'kosakata' yang di maksud kosakata disini adalah istilah atau kata2 yang bisa digunakan untuk menjelaskan cara menyelesaikan cara menyelesaikan masalah atau dengan kata lain bisa di jelaskan menggunkan istilah-istilah atau kejadian sehari-hari sehingga mudah di tangkap.



History



Perkembangan design pattern di awali dari engineer sipil yang bernama Christopher Alexander. Dia biasanya menulis pengalamannya tentang cara menyelesaikan permasalahan design yang berhubungan dengan bangunan dan kota. Suatu hari alexander menyadari dia menggunakan cara yang sama secara berulang.

Dengan bantuan Sara Ishikawa dan Murray Silverstein, Alexander menghasilkan pattern language yang membantu semua orang untuk mendesain dan membuat desain dan membangun dalam setiap scale baik besar maupun kecil. Papper berjudul 'A Pattern Language' dipublikasikan pada tahun 1977, tidak berapa lama kemudian di release sebagai buku.

Selama 30 tahun, software engineers mulai memecah prinsip yang di buat oleh alexander tentang dokumentasi awal design pattern. Pada tahun 1995 secara formal design pattern di software engineering di bukukan dengan judul Design Pattern:Elements Of Reusable Object-Oriented Software yang di tulis oleh Eric Gamma, Richard Helm , Ralph Johnson dan John Vlissides, Group yang di kenal dengan julukan Gang of Four.

Group of Four menghasilkan dua puluh tiga core dari Object Oriented design Pattern yang di gunakan di seluruh dunia. Dalam tulisan - tulisan yang berhubungan dengan design pattern banyak meng-cover sesi "Categories of Design Pattern".

Setiap hari kita sudah menggunakan pattern tiap hari


Untuk menggambarkan seberapa bergunanya pattern. Sebagai contoh kita ingin melihat jenis-jenis mobil ada tiga cara untuk mendapatkannya.


  1. Mencari semua data yang berhubungan dengan mobil dan memasukkan ke database. Baru di seleksi data tersebut sesuai dengan keinginan kita.  contoh: mobil baru, warna merah,matik
  2. Menggunakan metode cariMobilSemua() dan memilih semua kategori yang kita inginnkan
  3. Menggunakan metode yang lebih spesific seperti cariMobilSesuaiDenganCateogri() dan mendapatkan data yang sesuai dengan yang kita inginkan. 
dari 3 cara di atas cara manakah yang paling effective? pasti nomor 3, akan tetapi di dunia nyata, point ke 3 tidak selalu berhasil terutama jika menggunakan versi internet explorer yang kurang dari 9.

Struktur dari Design Pattern:


Design pattern terdiri dari beberapa componen seperti:

  • Pattern - Name dan deskripsi 
  • Context outline - semacam summary tentang kegunaan pattern dan untuk kasus seperti apa pattern ini cocok di gunakan.
  • Problem statement - mengidentifikasi berbagai permasalahan yang cocok untuk pattern
  • Solution- gambaran bagaimana permasalahan user di selesaikan dengan penjelasan step by step dan persepsi yang mudah di mengerti.
  • Design -deskripsi dari design pattern dan khususnya user behavior dalam penggunaannya.
  • Impelementation - guide/manual bagaimana pattern harus di implementasi
  • Illustrations - representasi visual bagaimana standar penggunaan pattern.
  • Examples - Penggunaan pattern dalam bentuk minimal
  • Co-requisites - pattern yang kemungkinan di butuhkan untuk mensupport pattern tersebut
  • Relations -  apakah pattern ini berhubungan dengan yang lain?apakah pattern tersebut meniru pattern lain?atau hasil pengembangan dari pattern lain?
  • Known Usage - apakah pattern bisa digunakan di lapangan?bagaimana caranya dan dimana?
  • Discussions - Gambaran team atau penulis tentang keuntungan menggunakan pattern.
Untuk kedepannya akan di bahas beberapa jenis design pattern yaitu:

  1. Creational Pattern
  2. Constructor Pattern
  3. Singleton Pattern
  4. Module Pattern
  5. Revealing Module Pattern
  6. Observer Pattern
  7. Mediator Pattern
  8. Prototype Pattern
  9. Command Pattern
  10. Facade Pattern
  11. Factory Pattern
  12. Mixin Pattern
  13. Decorator Pattern
  14. Flyweight Pattern


Source:

Comments

  1. As stated by Stanford Medical, It's really the SINGLE reason women in this country live 10 years longer and weigh an average of 42 pounds less than us.

    (And realistically, it has totally NOTHING to do with genetics or some secret-exercise and EVERYTHING about "how" they are eating.)

    P.S, I said "HOW", not "what"...

    CLICK this link to discover if this easy quiz can help you release your true weight loss potential

    ReplyDelete

Post a Comment

Popular posts from this blog

10 CMS untuk Forum

11 Website yang Membayar Anda untuk Meng-upload File

10 Soal Ujian dari Perusahaan untuk Web Programmer