Keuntungan Pemakaian Dependency Injection

Keuntungan Pemakaian Dependency Injection

Halo sobat koding… Kali ini gw mau bahas , mungkin bagi programmer metode ini tidak asing. Jadi apa itu ? dan apa keuntungannya?

Depedency Injection () adalah teknik yang banyak digunakan dalam pemrograman dan sesuai dengan pengembangan . Dengan mengikuti prinsip-prinsip , kalian mengatur dasar arsitektur yang baik. merupakan sebuah teknik untuk mengatur cara bagaimana suatu objek dibentuk ketika terdapat objek lain yang membutuhkan. Ada 2 istilah dalam , yaitu:

  • Service, merupakan suatu objek atau komponen yang melakukan tugas tertentu, dan dapat digunakan oleh client.

Namun objek Service juga bisa menjadi Client untuk objek Service lainnya, begitu juga dengan objek Client, bisa juga sebagai Service untuk objek Client lainnya.

Ayo kita mengenal lebih dalam lagi tentang

Keuntungan Pemakaian Dependency Injection

Kode diatas merupakan kode yang tidak menggunakan . Kenapa begitu ?  karena class Car menyusun Engine-nya sendiri. Hal ini dapat menjadi masalah karena:

  • Car dan Engine disandingkan dengan erat – instance Car menggunakan satu jenis Engine, dan tidak ada subclass atau implementasi alternatif yang dapat digunakan dengan mudah. Jika Car menyusun Engine-nya sendiri, Anda harus membuat dua jenis Car, bukan hanya menggunakan kembali Car yang sama untuk mesin berjenis Gas dan Electric.
  • Dependensi keras pada Engine membuat pengujian menjadi lebih sulit.
Baca juga  2 Cara Mengirim Email Lewat Gmail Beserta Lampirannya

Lalu, bagaimana kode yang menggunakan ?

Keuntungan Pemakaian Dependency Injection

Kurang lebih seperti kode diatas. Fungsi main menggunakan Car. Karena Car bergantung pada Engine, akan membuat instance Engine, kemudian menggunakannya untuk membuat instance Car. Manfaat pendekatan berbasis ini adalah:

  • Penggunaan kembali Car. Anda dapat meneruskan berbagai implementasi Engine ke Car. Misalnya, Anda dapat menentukan subclass Engine baru yang disebut ElectricEngine dan Anda inginkan agar digunakan oleh Car. Jika menggunakan , Anda hanya perlu meneruskan instance subclass ElectricEngine yang diperbarui, dan Car akan tetap berfungsi tanpa adanya perubahan lebih lanjut.
  • Pengujian Car secara mudah. Anda dapat meneruskan pengujian ganda untuk menguji skenario yang berbeda. Misalnya, Anda dapat membuat pengujian ganda Engine yang disebut FakeEngine dan mengonfigurasinya untuk pengujian yang lain.
Baca juga  8 Game Bertema Biologi Terbaik untuk Tingkatkan Pengetahuanmu

Ada dua cara utama nih untuk melakukan pada :

  • Injeksi Konstruktor : Ini adalah cara yang dideskripsikan atas. Anda meneruskan dependensi class ke konstruktornya.
  • Injeksi Kolom (atau Injeksi Penyetel) : Class framework tertentu, seperti aktivitas dan fragmen, dibuat instance-nya oleh sistem, sehingga injeksi konstruktor tidak dapat dilakukan. Dengan injeksi kolom, dependensi akan dibuat instance-nya setelah class dibuat. Kodenya akan terlihat seperti ini:

Keuntungan Pemakaian Dependency Injection

Nah,  juga ada library-library pendukung untuk seperti: Dagger, RoboGuice, ButterKnife, Annotation, Koin, dan lain-lain.

Saat ini gw lagi suka pakai karena pemakaiannya yang sederhana dan bisa dibilang mudah.

Hilt adalah library yang direkomendasikan Jetpack untuk injeksi dependensi . mendefinisikan cara standar untuk melakukan dalam Anda dengan menyediakan container untuk setiap class dalam project Anda dan mengelola siklus prosesnya secara otomatis untuk Anda. ditambahkan pada library yang populer Dagger untuk mendapatkan manfaat dari ketepatan waktu kompilasi, performa runtime, skalabilitas, dan dukungan Studio yang disediakan oleh Dagger. Jika kalian ingin mempelajari lebih lanjut tentang , lihat Injeksi Dependensi dengan Hilt.

Baca juga  5 Cara Memaksimalkan Kinerja Android dengan Aplikasi yang Tepat

Jadi kesimpulan yang bisa diambil dari pembahasaan ini adalah :

  • Penggunaan DI dapat memaksimalkan penggunaan class dan pemisahaan depedency atau sederhanya kode dapat digunakan kembali atau re-use.
  • Jika kalian membuat unit test, teknik ini cocok untuk diimplementasikan karena akan sangat membantu.
  • DI juga memudahkan dalam pemfaktoran ulang, dependensi menjadi bagian permukaan API yang dapat diverifikasi, sehingga dapat diperiksa pada waktu pembuatan objek atau pada waktu kompilasi, bukan disembunyikan sebagai detail implementasi.

Mungkin itu dulu yang bisa gw jelaskan tentang Depedency Injection.

Semoga bermanfaat untuk sobat koding semua, thank you

See you…

Baca Juga

Digstraksi adalah Media User-Generated, Semua karya tulis sepenuhnya adalah tanggung jawab penulis. Kamu juga bisa mempublikasikan karya tulis & mendapatkan kompensasi berupa uang tunai, pelajari Di sini.

silverTaurus11