Kotlin Multiplatform Academy · Pelajaran

Injeksi ke ViewModels & Repositori

Selesaikan dependensi dengan rapi di seluruh aplikasi

Pelajaran 4 dari 413 langkah

Injeksi ke ViewModels & Repositori adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Dari Dideklarasikan Menjadi Digunakan

Anda telah mendaftarkan dependensi dan memulai Koin. Kini tibalah manfaatnya: menginjeksikan objek-objek tersebut ke repositori dan model tampilan tanpa membuatnya secara manual.

Mulai dengan Injeksi Konstruktor

Gaya yang paling bersih adalah injeksi konstruktor: cantumkan kebutuhan sebuah class sebagai parameter, lalu Koin mengisinya melalui get() di dalam module.

single { UserRepository(api = get()) }

Repositori yang Menerima Dependensi

Repositori Anda cukup mendeklarasikan kebutuhannya di konstruktor. Repositori tidak pernah menyentuh Koin, sehingga mudah diuji secara terpisah.

class UserRepository(private val api: ApiClient)

Injeksikan ke ViewModel

ViewModel bersama juga menerima repositori melalui konstruktornya, sehingga semua datanya berasal dari satu sumber yang diinjeksikan.

class UserViewModel(private val repo: UserRepository)

Daftarkan ViewModel

Tambahkan view model ke module Anda. factory cocok digunakan karena memberikan instance baru untuk setiap layar.

factory { UserViewModel(get()) }

Selesaikan dari Android Compose

Di Android, pembantu koinViewModel() memberikan view model yang sudah terhubung kepada layar Compose dalam satu pemanggilan.

val vm: UserViewModel = koinViewModel()

Ambil dari iOS

Dari Swift, Anda meminta view model yang sama kepada Koin melalui fungsi penghubung kecil, sehingga SwiftUI mendapatkan objek yang terhubung dengan cara yang sama. 🍏

Hindari Jebakan Pencari Layanan

Utamakan injeksi melalui konstruktor daripada memanggil get() jauh di dalam kelas. Pencarian tersembunyi membuat kode lebih sulit dibaca, digunakan kembali, dan diuji.

Injeksikan Antarmuka, Bukan Kelas

Andalkan sebuah antarmuka dan biarkan Koin menyediakan implementasinya. Mengganti implementasi dengan tiruan untuk pengujian kemudian cukup dilakukan dengan mengubah modul pada satu baris.

single<UserRepository> { UserRepositoryImpl(get()) }

Seluruh Rangkaian

Perhatikan rangkaian yang dirakit Koin untuk Anda: klien membuat repositori, repositori membuat kasus penggunaan, dan kasus penggunaan membuat view model, semuanya melalui konstruktor.

factory { UserViewModel(get(), get()) }

Pengujian Menjadi Mudah

Karena semuanya diteruskan melalui konstruktor, pengujian Anda cukup meneruskan tiruan secara langsung tanpa memerlukan Koin, sehingga pengujian unit tetap cepat dan mudah diprediksi.

Pemeriksaan Singkat

Pilih gaya injeksi yang paling bersih.

Rangkuman

Anda menginjeksikan dependensi melalui konstruktor ke dalam repositori dan view model, mengambilnya sesuai platform, serta melihat mengapa antarmuka dan injeksi konstruktor membuat pengujian menjadi sangat mudah. 🎯

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Injeksi ke ViewModels & Repositori” gratis?

Ya — teks lengkap “Injeksi ke ViewModels & Repositori” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Multiplatform Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Injeksi ke ViewModels & Repositori”?

Selesaikan dependensi dengan rapi di seluruh aplikasi Kamu berlatih Kotlin Multiplatform Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kotlin Multiplatform Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Injeksi ke ViewModels & Repositori” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Multiplatform Academy ini?

Ya. Setiap pelajaran Kotlin Multiplatform Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendeklarasikan Modul Koin Bersama
  2. Scope single vs factory
  3. Memulai Koin di Android & iOS
  4. Injeksi ke ViewModels & Repositori
← Kembali ke Kotlin Multiplatform Academy