Pull to refresh

Comments 5

Так Кодеин тоже SL


val kodein = Kodein {
    bind<Dice>() with provider { RandomDice(0, 5) }
    bind<DataSource>() with singleton { SqliteDS.open("path/to/file") }
}

class Controller(private kodein: Kodein) {
    private val ds: DataSource by kodein.instance()
}

Для мелких проектов сервислокаторы может и ок, но потом всё становится хуже

Я ориентируюсь на эту статью , где есть цитата автора библиотеки что это больше DI.
А чем сервис локаторы становятся хуже с ростом проекта. В окружающей жизни чем больше город, тем сервис локаторы все больше и изощреннее. И наоборот DI сходят на нет
Dagger тоже ведёт себя как ServiceLocator в Activity. Но слышал, что планируют дать доступ к её конструктору.
А по поводу кодеина, просто в конструктор нужно сами зависимости передавать а не объект кодеина. Ни кто ведь дагеровский компонент в конструктор презентера не передаёт же.
Sign up to leave a comment.

Articles