Что такое Singleton в Koin

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

Ответ

Singleton в Koin — это объект, который создается только один раз и существует на протяжении всего жизненного цикла приложения. Он используется для управления единственным экземпляром зависимости, доступным всем компонентам приложения.

Пример объявления в Koin:

val appModule = module {
    single { MyRepository() } // Singleton
}

Ключевые особенности:

  • Создается при первом запросе
  • Живет пока живет Koin-контейнер
  • Все инъекции получают один и тот же экземпляр

Используется для:

  • Сервисов (API, базы данных)
  • Репозиториев
  • Общих менеджеров состояния

Альтернатива — factory для создания нового экземпляра при каждом запросе.