Injeksi ke ViewModels & Repositori
Selesaikan dependensi dengan rapi di seluruh aplikasi
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. 🎯
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
- Mendeklarasikan Modul Koin Bersama
- Scope single vs factory
- Memulai Koin di Android & iOS
- Injeksi ke ViewModels & Repositori