Koin 3.2 - New DSL #koin Тут совсем недавно вышло крутое о | Android Live 🤖
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() останутся в прошлом, и мы получим гораздо более красивый и читаемый код. Больше примеров кода и инфа о других изменениях по ссылке.