Коротко о Kodein
Kodein позволяет инжектить зависимости несколькими способами:
Factory binding — это связывание, которое требует аргумент, чтобы получить экземпляр необходимого типа из фабрики. Генерация экземпляра будет происходить каждый раз, когда будет запрошен экземпляр нужного типа.
Provider binding — этот биндинг возвращает экземпляр необходимого типа с любого хранилища и, в отличие от Factory binding, не требует аргументы для инъекции. Генерация также будет происходить каждый раз при запросе.
Singleton binding — тут все просто, мы создаем синглтон с ленивой инициализацией. Создание синглтона будет вызываться всего раз.
Tagged bindings — позволяют помечать тегами типы, для которых будут генерироваться разные экземпляры.