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