Ответ
single в Koin — это способ объявления зависимости, которая существует в единственном экземпляре на протяжении всего жизненного цикла приложения (синглтон).
Пример:
val appModule = module {
single { MyRepository() } // Создаётся один раз при первом запросе
}
Особенности:
- Объект создаётся лениво (при первом обращении).
- Живёт, пока живёт Koin-контейнер (обычно до завершения приложения).
- Подходит для сервисов, репозиториев и других глобальных зависимостей.
Альтернативы:
factory— новый экземпляр при каждом запросе.scoped— живёт в рамках определённой области (например, экрана).