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…
State Design Pattern dengan Strategy Design Pattern sebenarnya agak-agak mirip. Tingkat kompleksitasnya juga rendah sama seperti Strategy Pattern sehingga cenderung lebih gampang dipahami, walaupun ga sepopuler Strategy Pattern. State Design Pattern adalah Behavioral Design Pattern yang dapat mengubah behavior sebuah objek ketika internal state-nya berubah…
Kali ini gw akan mengupas tuntas tentang Strategy Design Pattern, yang sebenarnya sudah umum digunakan oleh software engineer. Barangkali masih ada yang bingung sama design pattern yang satu ini. Tingkat kompleksitasnya cukup rendah, sehingga seharusnya gampang dipahami asalkan punya basic OOP yang baik. Oh ya, karena design pattern ini sangat bergantung pada…