Что такое single в Koin

«Что такое single в Koin» — вопрос из категории DI, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

single в Koin — это способ объявления зависимости, которая существует в единственном экземпляре на протяжении всего жизненного цикла приложения (синглтон).

Пример:

val appModule = module {
    single { MyRepository() } // Создаётся один раз при первом запросе
}

Особенности:

  • Объект создаётся лениво (при первом обращении).
  • Живёт, пока живёт Koin-контейнер (обычно до завершения приложения).
  • Подходит для сервисов, репозиториев и других глобальных зависимостей.

Альтернативы:

  • factory — новый экземпляр при каждом запросе.
  • scoped — живёт в рамках определённой области (например, экрана).