Belajar
Hari ini saya belajar tentang clean architecture di dicoding, masih terdapat beberapa yang saya belum paham.
sebagai android dev harus sering berlatih dan harus senang membaca tetapi saya masih belum senang dalam membaca untuk itu saya harus berusaha senang dalam membaca. saya lakukan itu tapi susah
lakukan sedikit demi sedikit ...
dan ini beberapa rangkuman saya tentang yang saya baca hari ini :
design pattern
SIngleton Pattern : digunakan ketika anda ingin memastikan suatu object memiliki satu instance saja dan satu cara akses ke instance tersebut. ini bermanfaat ketika anda membutuhkan object dibeberapa class, seperti contoh object yang digunakan dibeberapa class adalah httpclient dan database.
Builder Patter : digunakn ketika kita ingin membuat object yang bertahap namun hanya fokus pada bentuk object yang di ingiinkan saja. Sehingga kita tidak perlu mendefinisikan semua variabel yang ada di class tersebut. Cukup yang akan diubah saja.
Factory Method Pattern
digunakan untuk menyederhanakan proses dalam membuat sebuah object yang rumit. Bedanya yaitu Anda bisa langsung membuat Object tanpa harus mendefinisikan satu per satu spesifikasi yang diinginkan. Sebagai gantinya Anda akan membuat interface dan membuat kelas turunan untuk implementasi spesifikasi yang berbeda.
Dependency Injection Pattern
Dependency adalah suatu object yang dibutuhkan untuk melakukan suatu proses. Sebagai contohnya yaitu Class Car membutuhkan Class Engine untuk berjalan, maka Class Engine disebut dependency dari Class Car.
adapter pattern
Adapter Pattern di sini bekerja sebagai jembatan atau penghubung untuk menghubungkan dua interface yang tidak cocok supaya bisa bekerja bersama-sama. Caranya yaitu dengan membuat class untuk convert salah satu interface supaya cocok dengan yang lainnya.
sama ketika kita sucbriber channel di youtube, setalah itu maka kita akan mendapatkan update video dari channel tersebut.
template method pattern
Apabila Anda memiliki dua komponen dengan tugas yang mirip, Anda dapat membuat pola (template) yang dapat dicontoh untuk menyelesaikan masalah tersebut. Caranya yaitu dengan membuat abstract class sebagai superclass dengan default implementation. Nah, jika ingin melakukan tugas yang lebih spesifik, Anda dapat membuat subclass-nya dan override beberapa bagian fungsi yang diinginkan.