【Compose Multiplatform】手機使用依賴注入Koin

前言

在 Compose Multiplatform 專案中
依賴注入是一個重要的設計模式
Koin 作為一個輕量級的 DI 框架
非常適合用於跨平台開發
本文將介紹如何在 Compose Multiplatform 中
使用 Koin 進行依賴注入

實作步驟
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 可以大大簡化跨平台項目的依賴管理
  • 根據項目規模和複雜度,選擇合適的初始化方式

You might also enjoy