Behavior Design Pattern: Observer

Observer adalah behavioral design pattern yang memungkin sebuah object untuk melakukan notifikasi perubahan state terhadap object lain. Contoh kasus, pada web e-commerce, items terjual dari stock setiap waktu. Ada kemungkinan customer mengalami kehabisan stock. Pendekatan observer memungkinkan customer mendapatkan notifikasi jika suatu produk yang diinginkan ready stock. Komponen utama dari observer pattern adalah: Subject, instance … Read more

Sharing is caring:

Behavior Design Pattern: Command

Command adalah behavioral design pattern yang mengubah requests atau operasi menjadi objects. Mari kita gunakan skenario menyalakan TV, terdapat 2 cara yaitu: Tombol ON pada remote. Tombol ON padai TV. Kita implementasikan objek command ON dengan TV sebagai penerima. Saat metode dipanggil, akan memanggil fungsi TV.on. Kemudian definisikan invoker. Terdapat dua invoker: remote dan TV. … Read more

Sharing is caring:

Behavior Design Pattern: Iterator

Iterator adalah behavioral design pattern yang memungkinkan melakukan sequential traversal melalui struktur data yang kompleks tanpa mengekspos detail internalnya. Ide utama dari Iterator pattern adalah memisahkan logika iterasi menjadi object tersendiri yang akan menyediakan generic method untuk melakukan iterasi yang tidak tergantung pada tipe object. Berikut contoh penerapan pattern iterator dalam golang.

Sharing is caring:

Structural Design Pattern: Decorator

Decorator adalah design pattern struktural yang memungkinkan penambahan behaviour ke objek secara dinamis. Dengan menggunakan decorator, Anda dapat membungkus objek berkali-kali karena objek target dan decorator mengikuti antarmuka yang sama. Objek yang dihasilkan akan memiliki behaviour menumpuk dari wrapper. Berikut contoh penggunaan decorator pada golang. Lihat baris comment untuk penjelasan code.

Sharing is caring: