Khusus interface dengan hanya satu method abstract atau yang dikenal dengan Functional Interface, kita bisa bikin implementasi dari interface tanpa perlu bikin class baru. Kita medeklarasikan method seperti sebuah variable. Action dalam method tersebut sifatnya lazy, ga akan langsung tereksekusi sebelum method dari interface tersebut dipanggil. Ada beberapa cara…
Awalnya gw ga tertarik bahas ini karena kayaknya ini topiknya udah terlalu mainstream deh😅. Secara penggunaan pun udah sering juga gw post, terutama pada seri design pattern. Tapi ternyata di luar sana masih banyak orang yang belum teryakinkan dengan manfaat interface dalam bahasa pemrograman. Bahkan ada juga diantaranya yang udah experienced sekian tahun tapi…
Ini juga merupakan salah satu judul yang paling lama berada di daftar antrian tulisan gw karena selalu ketendang tiap mau nulis😅. Law of Demeter juga disebut dengan Principle of Least Knowledge, yaitu sebuah prinsip pada OOP yang meminimalkan akses terhadap dependensi suatu unit dengan internal unit lain. Sebuah unit hanya boleh berinteraksi dengan unit…
Sejak gw pertama kali berniat ingin rutin nge-blog lagi di tahun 2020, inilah salah satu tulisan yang ingin gw bahas. Gw selalu menulis daftar bahasan yang ingin gw tulis dan ini adalah judul teratas paling lama berada di daftar tersebut tapi ga pernah sempat dibikin🤭. Agak ribet reproduce permasalahannya, akhirnya setiap mau nulis ini selalu ketendang dari…
Pada JPA terdapat beberapa konsep dan operasi penting yang wajib diketahui sebelum menggunakan JPA. Sebelum mengenal beberapa konsepnya, kita harus pahami dulu bahwa JPA itu adalah interface untuk mengelola operasi data relational pada Java. Implementasi JPA yang paling terkenal adalah Hibernate. Pada Hibernate terdapat first level cache pada Persistence Context…
Finally, ini adalah design pattern terakhir yang belum sempat gw bahas di blog ini dari 23 Design Pattern karya Gang of Four (GoF)😀. Sesuai namanya, Interpreter mengatur code menjadi kalimat sebuah bahasa, seperti bahasa SQL, HTML, scientific, atau bahasa DSL (Doman Specific Language) lainnya. Ciri-cirinya, terdapat satu interface sebagai Abstract Expression…
Gw kembali membahas seri Design Pattern selanjutnya yang belum sempat dibahas, yaitu Visitor Design Pattern. Agak males nyari contoh masalah real world-nya😅. Selain itu karena keterbatasan waktu juga sih, cukup sulit mencari waktu senggang akhir-akhir ini. Visitor Design Pattern ini merupakan salah satu Design Pattern yang agak kompleks designnya, tapi kalau…
Mediator Design Pattern juga memiliki nama lain, yaitu Controller atau Intermediary object karena tugasnya hanya sebagai penghubung antar dependency. Seperti Controller pada pola MVC yang isinya ga ada logic selain memanggil dependency object terkait. Mediator Design Pattern konsepnya seperti Orchestrator Saga Pattern pada distributed system, di mana terdapat…
Beberapa tahun belakangan Observer Design Pattern kembali populer digunakan dalam mengembangkan aplikasi. Observer Design Pattern cukup berguna terutama pada distributed system, di mana dengan Observer Design Pattern kita bisa membuat dependency antar object jadi berkurang sehingga logic antar dependency object lebih sederhana. Jadi komunikasi antar dependency…
Penggunaan Chain of Responsibility (CoR) sebenarnya tidak cukup populer karena cukup kompleks untuk system yang sederhana. Tapi menurut gw ini layak untuk dipertimbangkan ketika system yang kita bangun mulai kompleks. Apalagi kalau kita ingin mengembangkan library pihak ketiga yang nantinya akan dipakai oleh banyak orang. Tentu kita harus membuat library yang…