0Pricing
Kotlin Multiplatform Academy · Leçon

Scopes single ou factory

Choisissez entre des singletons et de nouvelles instances.

Scopes single ou factory est une leçon Kotlin Multiplatform Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Multiplatform Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Two Ways to Build

Koin gives you two main definition keywords: single and factory. They differ in one thing, how often Koin builds the object.

single Means One Instance

A single is created once and shared everywhere. Every part of your app that asks for it receives the very same object. 🔁

single { UserRepository(get()) }

factory Means Fresh Each Time

A factory builds a brand new instance on every request. Nothing is cached, so two callers never share the same object.

factory { ProfileUseCase(get()) }

When to Pick single

Use single for things that hold state or are expensive to build, like a repository, an HTTP client, or a database driver.

When to Pick factory

Reach for factory when each caller wants its own short-lived object, such as a stateless use case or a one-shot mapper.

single Is Lazy by Default

A single is not built when you declare it. Koin creates it the first time something actually asks for it, then keeps it around.

Force Eager Creation

Need a single ready at startup instead of on first use? Add createdAtStart so Koin builds it the moment the container starts.

single(createdAtStart = true) { Analytics() }

Mixing Them in a Graph

A single repository can depend on a factory mapper. Koin happily mixes scopes, building the factory fresh inside the long-lived single.

Watch Out for Shared State

If you make something single by mistake, callers may share state you meant to keep private, a classic source of subtle multiplatform bugs.

A Practical Module

Here a long-lived repository and a fresh use case live side by side, each scoped to match how it is used.

module {
    single { UserRepository(get()) }
    factory { LoginUseCase(get()) }
}

Default to single

When unsure, start with single. Most app-wide services want one instance, and you can switch to factory the moment you truly need fresh objects.

Quick Check

Pick the right scope behavior.

Recap

You learned that single shares one instance while factory builds a new one each time. Pick single for shared services, factory for short-lived helpers. 👍

Questions Fréquemment Posées

La leçon « Scopes single ou factory » est-elle gratuite ?

Oui — le texte complet de « Scopes single ou factory » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Multiplatform Academy, passe à CoddyKit PRO. Le cours Kotlin Multiplatform Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Scopes single ou factory » ?

Choisissez entre des singletons et de nouvelles instances. Tu pratiques Kotlin Multiplatform Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Multiplatform Academy ?

Aucune expérience préalable n'est requise. Kotlin Multiplatform Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Scopes single ou factory » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Multiplatform Academy ?

Oui. Chaque leçon Kotlin Multiplatform Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Déclarer un module Koin partagé
  2. Scopes single ou factory
  3. Démarrer Koin sur Android et iOS
  4. Injecter dans les ViewModels et les dépôts
← Retour à Kotlin Multiplatform Academy