TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #877 3.17K
​​Koin 3.2 - New DSL
#koin

Тут совсем недавно вышло крутое обновление библиотеки Koin, которое позволяет гораздо проще настраивать сам Koin — Constructor DSL.

Раньше типичный модуль в Koin выглядел следующим образом:

class MyClassA()
class MyClassB(val a : MyClassA)

// Let Koin find dependencies for you with get()
module {
single { MyClassA() }
single { MyClassB(get()) }
}


Как видно, в MyClassB нужно добавить get() по количеству параметров, которые в этот класс передаются. Если таких параметров будет много, то и число этих get() будет кратно увеличиваться.

В новой же версии мы получаем более удобную структуру:

class MyClassA(val id : String)

module {
singleOf(::MyClassA)
}

// in calling code
val classA : MyClassA by inject { parametersOf("_id_")}


То есть теперь все вызовы get() останутся в прошлом, и мы получим гораздо более красивый и читаемый код.
Больше примеров кода и инфа о других изменениях по ссылке.
  • 👍 20
  • ❤ 2
More from @android_live
  1. Sep 29, 2026Post #1130
  2. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  3. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  4. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  5. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  6. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →