Коротко о Kodein

Kodein позволяет инжектить зависимости несколькими способами:

Factory binding — это связывание, которое требует аргумент, чтобы получить экземпляр необходимого типа из фабрики. Генерация экземпляра будет происходить каждый раз, когда будет запрошен экземпляр нужного типа.

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

Singleton binding — тут все просто, мы создаем синглтон с ленивой инициализацией. Создание синглтона будет вызываться всего раз.

Tagged bindings — позволяют помечать тегами типы, для которых будут генерироваться разные экземпляры.