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 yang berbeda bentuk dapat digunakan dalam bentuk lainnya. Objek tersebut dimanipulasi mirip menjadi bentuk objek lain. Penasaran kan seperti apa😁? Adapter Design Pattern adalah struktural design pattern yang dapat membuat objek yang strukturnya tidak saling kompatibel bisa berkolaborasi. Design Pattern Use Case Kita masih…
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 pattern yang bisa menambahkan behavior baru kepada objek originalnya secara dinamis dengan menempatkannya ke dalam…
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 Design Pattern yang termasuk ke dalam behavioral pattern yang dapat mengubah behaviornya ketika internal…
Kali ini gw akan mengupas tuntas tentang Strategy 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. Strategy Pattern adalah Design Pattern yang termasuk ke dalam…
Beberapa postingan terakhir gw lebih sering post tulisan di luar coding karena berbagai hal, termasuk salah satunya lagi berduka sejak ditinggal nenek😥. Sekarang gw mulai mencoba menulis tentang codingan lagi🙂. Seperti kita ketahui, pada Java terdapat beberapa inteface Collection seperti Set, List dan Map. Pada Java 8 ke bawah, Collection tersebut biasanya…
Sejak Java 8 dirilis, gw mulai jarang menggunakan API java.util.Date dan java.util.Calendar karena Java 8 telah mengadopsi Date/Time API dari JodaTime yang memiliki kode fitur JSR-310. API ini mengatasi berbagai permasalahan dari API lama. Meskipun ini dirilis beberapa tahun lalu berbarengan dengan rilisnya Java 8, masih banyak mungkin yang belum kenal atau belum…
Materi tentang composition atau inheritance biasanya sudah diajarkan sejak kuliah. Tapi seringkali kita hanya sekedar tahu tapi masih bingung tentang best practice-nya gimana. Artikel tentang "dahulukan composition dibandingkan inheritance" sudah sering didiskusikan seperti pada buku-buku tentang design patterns atau tulisan-tulisan dari Martin Fowler, Joshua…