Jumat, 20 Desember 2013

Dasar Pembuatan Pattern



Design patterns adalah unsur-unsur rancangan yang seringkali muncul pada berbagai sistem yang berbeda.  Setiap kemunculan ini menguji pattern tersebut di berbagai situasi. Semakin terujinya suatu unsur rancangan berarti  semakin matangnya unsur tersebut sehingga beberapa dapat dikatakan sebagai best practices dalam perancangan  sistem.
Istilah design patterns dimulai di bidang perancangan bangunan oleh Christopher Alexander. Dalam bukunya A Pattern Language, ia menerangkan pola-pola yang terdapat di dalam berbagai rancangan arsitektur bangunan. Arti design patternditerangkannya dalam kalimat berikut:
“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, insuch a way that you can use this solution a million times over, without everdoing it the same way twice.”
Pada Gang of Four Patterns, katalog design patterns bisa dikategorikan menjadi tiga yaitu creational, structural, dan behavioral. Creational patterns berhubungan dengan penciptaan obyek. Pola-pola ini berkisar seputar obyek mana yang diciptakan, siapa yang menciptakannya, serta berapa banyak obyek diciptakan. Structural patterns berhubungan dengan struktur statis obyek dan kelas. Pola-pola dalam structural patterns dapat dilihat pada saat program di-compile melalui struktur inheritance, properties, serta agregasi obyek-obyek. Behavioral patterns lebih berkenaan terhadap perilaku run-time program. Pola-pola ini berkaitan dengan algoritma serta interaksi antar obyek saat program berjalan. Penekanan  behavioral patterns  lebih pada komposisi obyek ketimbang  inheritance. Secara umum membahasan tentang design pattern dapat dijelaskan dengan bagaimana suatu design pattern akan digunakan yaitu:
1.      Name yaitu merupakan nama yang diberikan pada pola ini.
2.      Intent yaitu merupakan pernyataan ringkas yang memberikan permasalahan yang terjadi serta maksud yang hendak dicapai.
3.      Also Known As, Berbagai alias untuk pola ini, jika ada.
4.      Motivation, Sebuah skenario yang menerangkan sebuah permasalahan rancangan dan bagaimana pola ini dapat memecahkannya.
5.      Applicability yaitu Berbagai situasi di mana pola ini dapat diterapkan.
6.      Structure yaitu Sebuah gambar yang menerangkan hubungan kelas dan obyek dalam pattern ini.
7.      Participants yaitu Berbagai kelas dan/atau obyek yang turut serta dalam pola ini beserta peranannya.
8.      Collaborations yaitu Bagaimana kerja sama dari para peserta untuk melaksanakan peranannya masing-masing.
9.      Consequences yaitu Bagaimana pola ini mencapai tujuannya serta kompromi (tradeoff) yang harus dilakukan dalam penerapannya.
10.  Implementation yaitu Petunjuk, peringatan, serta berbagai teknik yang digunakan dalam penerapan pola ini.
11.  Sample Code yaitu Contoh program yang mengilustrasikan penerapan pola ini.
12.  Known Uses –yaitu Contoh-contoh dari penggunaan pola ini pada sebuah system sungguhan.
13.  Related Patterns yaitu Pola-pola lain yang berhubungan dengan pola ini

Lalu ada dasar-dasar untuk membuat design pattern diantaranya adalah:
1.      Creational Patterns
  
Abstract Factory = Menciptakan sebuah contoh dari beberapa keluarga kelas
  Builder
= Memisahkan konstruksi objek dari representasinya
  
Factory Method = Membuat sebuah instance dari beberapa kelas turunan
  Prototype
= Sebuah contoh sepenuhnya diinisialisasi untuk disalin atau kloning
  Singleton
= Sebuah kelas yang hanya satu contoh bisa eksis
2.      Structural Patterns
  Adapter
= Pertandingan kelas yang berbeda
  Bridge
= Memisahkan antarmuka obyek dari pelaksanaannya
  
Composite = Struktur pohon obyek sederhana dan komposit
  De
corator = Tambahkan tanggung jawab ke objek dinamis
  Facade
= Bangunan kelas tunggal yang mewakili seluruh subsistem
  
Flyweight = Sebuah contoh halus digunakan untuk berbagi efisien
  Proxy
= Sebuah benda yang mewakili benda lain

3.      Behavioral Pattern
  
Chain of Resp = Sebuah cara melewati permintaan antara rantai objek
  Command
 = permintaan perintah sebagai obyek
  
Interpreter = Sebuah cara untuk memasukkan unsur-unsur bahasa dalam sebuah program
  Iterator
= Berurutan mengakses elemen dari koleksi
  Mediator
= Mendefinisikan komunikasi sederhana antara kelas
  Memento
= Mengambil dan memulihkan keadaan internal obyek
  Observer
= Sebuah cara memberitahukan perubahan sejumlah kelas
  
State = perilaku obyek ketika perubahan keadaan
  Strateg
y =  Mengenkapsulasi algoritma dalam kelas
 
Template Method = Menunda langkah-langkah yang tepat dari sebuah algoritma untuk subclass
  
Visitor = Mendefinisikan operasi baru untuk kelas tanpa perubahan

Tidak ada komentar:

Posting Komentar