author-pic

Ferry S

An ISTJ, Type 5, Engineer, Gamer, and Thriller-Movies-Lover
All posts related to Java
August 8th, 20214 mins read
Tips & Tutorial, Java, Design Pattern
ferr

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…

August 1st, 20216 mins read
Tips & Tutorial, Java
ferr

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…

February 7th, 20217 mins read
My Views, Tips & Tutorial, Java
ferr

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…

February 7th, 20214 mins read
My Views, Tips & Tutorial, Programming Principle, Java
ferr

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…

November 9th, 20203 mins read
Tips & Tutorial, Java
ferr

Pada Java 8 terdapat Functional Interface yang dapat digunakan sebagai Lambda. Namun mayoritas Functional Interface tersebut by default tidak melakukan throws Exception. Ini cukup ribet kalau kita memanggil method yang throws checked exception pada scope Lambda pada umumnya. Contohnya kita ingin melakukan looping String yang berisi path sebuah text menggunakan…

November 9th, 20205 mins read
Programming Principle, Java, Tips & Tutorial, Spring
ferr

Sebenarnya contoh penggunaannya udah pernah gw bikin pada post tentang Single Responsibility dan Open-Close Principle, nah sekarang penjelasannya. Prinsip yang satu ini mungkin udah pada familiar. Terutama bagi yang menggunakan Spring framework pasti sudah tidak asing lagi. Prinsip ini merupakan implementasi dari Inversion of Control. Dengan Dependency Injection…

November 9th, 20204 mins read
Java, Programming Principle, Tips & Tutorial
ferr

Interface Segregation adalah memecah sebuah abstrak yang terlalu besar menjadi beberapa abstrak yang lebih spesifik. Terkadang pada sebuah code yang dibutuhkan hanya beberapa method saja dari interface tersebut, sisanya tidak dibutuhkan dan beberapa diantaranya memiliki kohesi yang rendah, tidak saling terkait. Selain itu, sebuah abstraksi terlalu abstrak jika…

November 8th, 20205 mins read
Java, Programming Principle, Tips & Tutorial
ferr

Prinsip ini berbicara tentang subclass yang kuat. Prinsip ini pertama kali dikemukakan oleh Barbara Liskov. Jika sebuah abstraksi memiliki behavior, maka seluruh turunannya wajib memiliki behavior tersebut secara natural. Melakukan sebuah throwable secara default pada sebuah method milik turunan yang ternyata tidak memiliki behavior seperti abstrak melanggar…

November 2nd, 20206 mins read
Java, Programming Principle, Tips & Tutorial
ferr

Secara definisi: Software entities should be open for extension, but closed for modification. Robert C. Martin Disini bisnis logic dibungkus menjadi entitas yang bisa di-extend sebanyak apapun tanpa banyak perubahan di entity utama. Disini benefit dari abstraksi sangat terasa. Open-Close Principle ini bisa diterapkan menggunakan Strategy Pattern dan Factory…

November 1st, 20205 mins read
Java, Programming Principle, Tips & Tutorial
ferr

Secara definisi: Single-responsibility principle (SRP) is a computer-programming principle that states that every module, class or function in a computer program should have responsibility over a single part of that program's functionality, which it should encapsulate. Robert C. Martin Kalau di-bahasa-indonesia-kan kurang lebih seperti ini: Single Responsibility…