【Compose Multiplatform】手機使用依賴注入Koin
3 min read
CrossPlatform#CMP#Dependency Injection#Koin#Kotlin
前言
在 Compose Multiplatform 專案中
依賴注入是一個重要的設計模式
Koin 作為一個輕量級的 DI 框架
非常適合用於跨平台開發
本文將介紹如何在 Compose Multiplatform 中
使用 Koin 進行依賴注入
{% include table/compose-multiplatform-category.html %}
實作步驟
1. 導入庫
在 .toml 文件中添加:
在 build.gradle.kts 中添加:
2. 實作 DI 內容
接下來,我們需要實作 DI 的具體內容:
這裡可以依據你實際要用的去實作
像是我們可能會規劃使用viewmodel、database、datastore等等
就可以根據你實際要用的去做分類
使得程式碼更好維護、管理
3. 初始化 Koin
如果剛好你實作的東西`需要跨平台`取得
例如要在Android取得Context
所以依賴注入就必需要分開注入
根據不同的平台和需求,我們有多種方式初始化 Koin:
in iOSMain:
in androidMain:
如果剛好你實作的東西不需要跨平台
取得
你可以用以下的方式去在commonMain裡面直接注入
對於 koin-compose 1.2.0 版本,可以用KoinApplication
讓你的代碼更有整體性
或也可以用原本的 startKoin
:
4. 實際使用
之後直接用koinViewModel
就能直接注入viewmodel
或是有些要組成的東西在moduel那邊使用get()
就能幫你取得實例
總結
- Koin 能在 Compose Multiplatform 使用
- 通過適當的配置,可以在不同平台上靈活使用 Koin
- 使用 Koin 可以大大簡化跨平台項目的依賴管理
- 根據項目規模和複雜度,選擇合適的初始化方式