Sebelumnya kita udah membahas Factory Method Design Pattern. Kalau belum baca, mending dibaca dulu biar nyambung dengan tulisan ini karena use case-nya masih sambungan dari tulisan tersebut🙂. Sekarang kita bahas versi upgrade-nya, yaitu Abstract Factory Design Pattern. Keduanya memang mirip, yaitu memberikan user kebebasan memilih implementasi objek apa yang…
Ini merupakan design pattern yang sangat populer digunakan. Software engineer yang menggunakan OOP harusnya pernah menggunakan atau setidaknya tahu tentang design pattern ini. Factory Method Design Pattern digunakan ketika ingin menggunakan implementasi objek tertentu tanpa harus tahu class-nya apa. Biasanya dengan cara tipe objek ditentukan berdasarkan input…
Yang udah pernah menggunakan Clean Architecture mungkin udah familiar dengan design pattern ini, terutama ketika declare input boundary. Selain itu, ketika kita melakukan pembungkusan logic ke dalam runnable juga termasuk Command Pattern. Design pattern yang satu ini memang cukup populer di kalangan software engineer. Termasuk salah satu design pattern yang…
Kali ini gw membahas tentang Façade Design Pattern. Sebenarnya penggunaan design ini cukup umum sih. Gw rasa beberapa diantara kita udah familiar dengan Facade ketika membuat sebuah API. Bagi yang menerapkan Clean Architecture gw rasa udah sering menggunakan design pattern ini ketika membuat gateway. Tingkat kompleksitasnya juga cukup rendah, cukup mudah…
Bridge Design Pattern termasuk salah satu design pattern yang agak kompleks dibanding design pattern yang lain. Penggunaan design pattern ini juga tidak terlalu populer. Design pattern ini biasanya digunakan untuk memisahkan hierarki sebuah class menjadi lebih independen sehingga pengimplementasiannya bisa lebih spesifik dan fleksibel. Bridge Design Pattern…
Template Method Design Pattern cukup sering digunakan dalam library Java seperti AbstractList, AbstractSet, dan AbstractMap. Design Pattern ini berbasis inheritance. Walaupun mungkin terdengar kurang familiar, tapi pemanfaatan design pattern ini cukup sering dipraktekkan pada beberapa kasus. Bagi yang pernah menggunakan Spring Framework juga mungkin udah familiar…
Penggunaan design pattern ini cukup populer. Benefit dari Singleton adalah kita tidak perlu membuat objek baru di setiap penggunaan, dari sisi performa tentu sedikit lebih cepat dan penggunaan memory jadi lebih efisien. Di lain sisi, penggunaan Singleton juga mengundang kontroversi karena global variables, anti-pattern dan menyalahi kodrat OOP. Walaupun begitu…
Biasanya ketika membuat objek, kita tinggal menggunakan keyword 'new' yang dilanjutkan dengan nama constructor yang mau dibikin. Namun kadang ada beberapa kasus yang membuat kita ga semudah itu dalam membuat objek, seperti ketika menggunakan immutable object. Design Pattern yang satu ini menurut gw yang paling gampang dikuasai, walaupun penerapannya agak kompleks…
Adapter Pattern ini memungkinkan objek dengan tipe yang berbeda bentuk dapat digunakan sebagai objek lain. Objek tersebut dihandle agar compatible digunakan sebagai objek lain tanpa harus di-casting atau ditulis ulang. Penasaran kan seperti apa😁? Adapter Design Pattern adalah Structural Design Pattern yang dapat membuat objek yang tipe strukturnya tidak saling…
Dengan Decorator Pattern kita bisa menambah behavior baru kepada objek originalnya sebanyak mungkin. Sehingga behavior-behavior tadi membentuk struktur baru berdasarkan behavior-behavior sebelumnya. Decorator Design Pattern merupakan Structural Design Pattern yang bisa menambahkan behavior baru kepada objek originalnya dengan membungkusnya ke dalam special…