Translate
Showing posts with label Design Pattern. Show all posts
Strategi Method Pattern
Penerapan design pattern Strategy di Java
Strategy pattern (juga dikenal sebagai kebijakan pola) adalah pola desain perangkat lunak tertentu, dimana algoritma dapat dipilih saat runtime. Secara resmi berbicara, strategi pola mendefinisikan sebuah keluarga algoritma, merangkum masing-masing, dan membuat mereka saling dipertukarkan. Strategi ini memungkinkan algoritma yang bervariasi secara independen dari klien yang menggunakannya.[1]
Tag :
Design Pattern
Template Pattern
Sungguh mengasyikkan belajar java, betapa tidak ia terkadang membuatku gk bisa tidur karena asyik ngoprek. apalagi klu udah sampai belajar design pattern, wuuuh…bener-bener mantap (this is the real OOP menurutku..hehehe..). salah satu metoda didalamnya adalah template pattern butuh waktu khusus (bertapa di gua sampai brewokan) diriku untuk bener-bener memahami konsepsi dan filosofinya yang lumayan mak-nyooosss…
Tag :
Design Pattern
Facade Pattern
Façade adalah interface dimana aplikasi dapat menggunakannya untuk melakukan sesuatu tanpa mengkhawatirkan mengenai detail-detail yang terlibat. Façade memisahkan layer-layer yang terlibat sehingga layer-layer tersebut tidak bergantung satu sama lainnya dimana membuat masing-masing layer dapat dengan mudah untuk dikembangkan, mudah untuk digunakan, dan mempertimbangkan untuk menggunakan code re-use. .
Tag :
Design Pattern
Decorator Pattern
Konteks:
- Diinginkan untuk memperkaya behaviour dari suatu class. Kita sebut class ini class komponen.
- Objek komponen terdekorasi bisa digunakan sama seperti objek komponen biasa.
- Tanggung jawab dari proses dekorasi tidak diinginkan ada pada class komponen.
- Kemungkinan ada proses dekorasi yang ditambahkan di masa depan yang tak bisa diperkirakan dan harus diantisipasi.
- Diinginkan untuk memperkaya behaviour dari suatu class. Kita sebut class ini class komponen.
- Objek komponen terdekorasi bisa digunakan sama seperti objek komponen biasa.
- Tanggung jawab dari proses dekorasi tidak diinginkan ada pada class komponen.
- Kemungkinan ada proses dekorasi yang ditambahkan di masa depan yang tak bisa diperkirakan dan harus diantisipasi.
Tag :
Design Pattern
Composite Pattern
Secara tidak sadar, berbagai program yang seringkali digunakan ternyata menggunakan composite pattern. Salah satu contoh aplikasi semisal, Microsoft Office Visio memungkinkan pengguna untuk dapat membuat berbagai bentuk semisal kotak, lingkaran, dan sebagainya. Kemudian pengguna dapat melakukan grouping terhadap bentuk-bentuk yang ada dan ketika group tersebut dipindahkan posisinya, otomatis semua shape yang ada dalam group tersebut ikut berpindah posisinya. Pengguna juga dapat melakukan grouping kembali terhadap group shape yang ada dengan shape-shape yang lain sehingga dapat terbentuk semacam hierarki pada shape yang ada. Bentuk-bentuk permasalahan semacam inilah yang dapat diselesaikan dengan Composite Pattern.
Tag :
Design Pattern
Adapter Pattern
Aspek OO yang didukung : reusability
Kondisi :
Kita mempunyai sebuah class dan sebuah client yang akan menggunakan class tersebut, tetapi tipe class yang akan kita pakai tersebut tidak cocok dengan tipe yang dibutuhkan oleh client*. Yang dimaksud dengan “tipe class tidak cocok “ di sini adalah bahwa class tersebut secara hierarki tidak bisa masuk ke tipe yang dibutuhkan client. (Di akhir tulisan ini disertakan sebuah contoh kasus)
* Sebagai contoh di Java, client di sini dapat berupa sebuah method yang mempunyai parameter bertipe tertentu. Tipe parameter inilah yang tidak sesuai dengan tipe class yang sudah ada.
Tag :
Design Pattern
Bridge Pattern
Bridge Pattern ini merupakan pattern yang kuat (powerfull) dan sering
digunakan dalam pengembangan. Dan ini sebanding dengan usaha untuk mempelajarinya yang cukup menantang.
Untuk memahami design pattern yang satu ini, kita perlu melihat makna decouple (tidak berpasangan), abstraction (abstraksi), dan implementation (implementasi) dari sisi yang berbeda terlebih dahulu.
Decouple adalah bagaimana objek tidak terhubung satu sama lain, berdiri sendiri (independent), terpisah.
digunakan dalam pengembangan. Dan ini sebanding dengan usaha untuk mempelajarinya yang cukup menantang.
Untuk memahami design pattern yang satu ini, kita perlu melihat makna decouple (tidak berpasangan), abstraction (abstraksi), dan implementation (implementasi) dari sisi yang berbeda terlebih dahulu.
Decouple adalah bagaimana objek tidak terhubung satu sama lain, berdiri sendiri (independent), terpisah.
Tag :
Design Pattern
Builder Pattern
Builder Pattern adalah sebuah software design pattern. Tujuannya adalah sebagai langkah-langkah abstract kerangka (kontruksi) object, jika suatu implementasi menggunakan langkah-langkah yang berbeda, maka akan membuat representasi object yang berbeda juga.
Builder Pattern sering digunakan untuk membangun produk sesuai dengan sebuah pola struktur Composite Pattern, dengan cara memisahkan pembangunan kompleks object dari representation, sehingga proses konstruksi yang sama dapat membuat representation yang berbeda.
Tag :
Design Pattern
Prototype Pattern
Sebuah prototype pattern adalah sebuah design pattern kreatif yang digunakan dalam pengembangan perangkat lunak. Jenis object untuk membuat object baru ditentukan oleh prototype contoh. Object di kloning untuk menghasilkan object baru.
Pattern ini digunakan untuk:
- menghindari subclass dari object kreator dalam aplikasi klien, tidak seperti abstract factory pattern.
- menghindari biaya yang melekat (inherent cost) dari object baru yang dibuat sesuai standar (misalnya, dengan menggunakan keyword 'new'), saat biaya itu cukup mahal untuk aplikasi tertentu.
Tag :
Design Pattern
Materi 3 Factory Method
Dengan membuat Factory Method dan mendefinisikan sebuah class interface, kita bisa men-generate object yang dinamis sesuai kebutuhan dan implementasi yang diinginkan. Harap di-ingat lagi, ruang lingkup dari Factory Method adalah class, Factory Method sendiri adalah class object yang static.
Contoh di bawah menggambarkan bagaimana ObjectFactory memanfaatkan class interface object menjadi lebih dinamis. Contoh lain implementasi pattern ini adalah BorderFactory atau SocketFactory yang merupakan standart package Java API.
Observer Pattern menerapkan mekanisme Publisher dan Subscriber untuk mengatur bagaimana sebuah object mengetahui perubahan state di object lainnya.
Tag :
Design Pattern
Materi 2 Abstract Factory pattern
Abstract Factory pattern menyediakan sebuah interface untuk membangun family yang berkaitan atau bergantung pada objek tanpa menspesifikasikan kelas nyata nya.
Prinsip dasar dari Abstract Factory pattern adalah:
1. Terdapat kelas Abstract Factory (sebuah interface), dimana AbstractFactory merupakan sebuah interface yang mendefinisikan bagaimana cara untuk membuat objek dari AbstractProduct. Intent dari AbstractFactroy adalah menciptakan family dari objek yang berkaitan tanpa harus bergantung pada concrete class-nya
Tag :
Design Pattern
Materi 1 Singleton
Tujuan Singleton adalah membuat suatu class dengan method membuat instance baru ( untuk memastikan apakah hanya ada instance sualu class diciptakan ). Contoh : Meskipun ada banyak printer dan dokumen yang akan dicetak, tetapi hanya ada 1 printer Singletom. Class tersebut bertanggung jawab untuk metracking instanance-nya sendiri.
Tag :
Design Pattern
Abstraksi Design Pattern
Design pattern merupakan komponen yang diperlukan dalam proses reusable-code pada pemrograman berorientasi projek. Berbagai jenis design pattern yanng sering digunakan antara lain Singleton, Adapter Pattern, Facade Pattern, Bridge Pattern, Strategy Pattern, Observer Pattern, dan Tamplete Pattern. Dalam Penulisan ini menjelaskan mengenai tujuan dari masing - masing design Pattern.
Tag :
Design Pattern

