Самый короткий код с Dagger 2
#разработка #опрос #статьи
Когда впервые видишь Dagger, то ловишь себя на мысли, что не понимаешь, как это все работает. Видишь «волшебную» аннотацию Inject, которая без создания объекта отдает тебе его.
Конечно, при большем изучении этой библиотеки все становится яснее. И сейчас очень много статей, примеров и докладов, которые расскажут, наверное, о всех аспектах и фичах.
Но есть один пример, который призван показать «здесь и сейчас» как работает Dagger. Он не призван показать все, а только самую суть. Некий «hello world!»
Подробнее о примере, а также ссылку на GitHub, можно найти тут.
Как вам пример?
#разработка #опрос #статьи
Когда впервые видишь Dagger, то ловишь себя на мысли, что не понимаешь, как это все работает. Видишь «волшебную» аннотацию Inject, которая без создания объекта отдает тебе его.
Конечно, при большем изучении этой библиотеки все становится яснее. И сейчас очень много статей, примеров и докладов, которые расскажут, наверное, о всех аспектах и фичах.
Но есть один пример, который призван показать «здесь и сейчас» как работает Dagger. Он не призван показать все, а только самую суть. Некий «hello world!»
main(args: Array<String>) {
println(MainClass().info.text)
}
class MainClass {
@Inject lateinit var info : Info
init {
DaggerMagicBox.create().poke(this)
}
}
class Info @Inject constructor() {
val text = "Hello Dagger 2"
}
@Component interface MagicBox {
fun poke(mainClass: MainClass)
}
Подробнее о примере, а также ссылку на GitHub, можно найти тут.
Как вам пример?