Selain Immutable, Pure Function adalah salah satu principle dari Functional Programming yang juga bermanfaat dan bisa diimplementasikan pada Object Oriented Programming (OOP). Pure Function artinya function atau method tersebut isinya murni logika saja tanpa efek samping terhadap objek atau value lainnya di luar function tersebut dan output value-nya selalu sama…
Sebenarnya ini adalah tulisan yang udah lama ingin gw bagikan, tapi gw mager banget😅. Ini adalah lanjutan dari tulisan sebelumnya tentang Vault. Sebelumnya hanya perkenalan aja menggunakan command line. Kali ini lebih ke praktek mengintegrasikannya dengan aplikasi. Berhubung gw sehari-hari lebih sering ngoding pakai Spring dan Java daripada bahasa lainnya, jadi…
Ketika membangun aplikasi, kita umumnya menyimpan semua data-data ke dalam database. Termasuk di dalamnya data-data sensitif seperti nomor KTP, foto KTP, nama orang tua, alamat, nomor telepon pribadi, akun bank, dan data sensitif lainnya. Bagaimana jika data tersebut bocor? Atau ada oknum engineer yang menyalahgunakan akses yang dia punya terhadap data tersebut…
Sebelum ada Maven, biasanya ketika ada dependency tambahan, kita akan menambahkan Jar file dari dependency tersebut secara manual ke dalam project kita. Bayangkan, jika dependency tersebut digunakan di banyak module lainnya, berarti kita harus copy manual satu-persatu dong. Belum lagi saat ada perubahan Jar, berarti kita harus manual copy satu-persatu. Maven…
Design pattern ini seringnya digunakan ketika membuat framework. Beberapa framewrok menggunakan Proxy behind the scene untuk memanipulasi behavior objek. Seperti saat melakukan Autowired pada Spring atau Mock pada Mockito. Framework biasanya menggunakan library dari JDK atau library pihak ketiga seperti CGLIB atau Byte Buddy untuk membuat proxy. Tapi dalam…
Dalam pemrograman seringkali kita temui terminologi "Factory" dalam aktivitas perkodingan. Ga sedikit juga yang merasa ambigu, factory yang dimaksud yang kayak gimana sih? Biar ga bingung, gw mencoba menjelaskan beberapa istilah factory yang sering digunakan di dalam pemrograman. Secara umum "Factory" di sini maksudnya adalah action untuk menciptakan objek…
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…