Golang Pattern
Go Language Pattern
Creational Design Pattern: Builder – Part 1
Saat membuat object diperlukan proses construction, ada yang simple, ada yang membutuhkan banyak argument. Tujuan dari design pattern builder ini adalah jika proses construction object kompleks, dapat dilakukan secara bertahap. Kita akan bahas pattern builder menggunakan builder built-in dari Go yaitu String builder. String builder berguna untuk menggabungkan string. Skenarionya adalah Anda akan membuat web … Read more
SOLID: Dependency Inversion Principle
Aturan dari Dependency Inversion Principle (DIP) adalah Modul Level Atas tidak boleh bergantung pada modul level bawah Kedua modul tersebut harus bergantung pada abstraction Berikut contoh kode yang melanggar DIP. Dimana fungsi research (dalam hal ini adalah high level modul), tergantung pada Relationships struct (low level modul). Untuk kondisi saat ini, kode memang berfungsi dengan … Read more
SOLID: Interface Segregation Principle
Secara sederhana Interface Segregation Principle (ISP), prinsip yang melarang God Object, yaitu satu interface global yang berisi semua method. Pendekatan yang disarankan adalah memisahkan interface global tersebut menjadi interface-interface yang lebih spesifik dengan tujuannya masing-masing. Berikut contoh skenario, dimana kita berusaha membuat satu interface untuk semua. Misal, kita akan membuat object printer dengan Interface Machine … Read more