Quand utiliser singleton swift ?

Table des matières:

Quand utiliser singleton swift ?
Quand utiliser singleton swift ?

Vidéo: Quand utiliser singleton swift ?

Vidéo: Quand utiliser singleton swift ?
Vidéo: Swiftly - Développement iOS moderne- Singleton pourquoi l'éviter? 2024, Novembre
Anonim

Vous utilisez des singletons pour fournir une instance mondialement accessible et partagée d'une classe Cette définition n'est pas unique à la documentation d'Apple. L'article de Wikipédia que j'ai lié ci-dessus indique également que "Une implémentation du modèle singleton doit fournir un accès global à cette instance. "

Pourquoi le singleton est utilisé dans Swift ?

Singleton est un modèle de conception de création, qui garantit qu'un seul objet de son genre existe et fournit un point d'accès unique à celui-ci pour tout autre code. Singleton a presque les mêmes avantages et inconvénients que les variables globales. Bien qu'ils soient très pratiques, ils cassent la modularité de votre code.

Quand ne devriez-vous pas utiliser un singleton ?

La seule situation dans laquelle vous devriez envisager un singleton est lorsque plusieurs instances de données déjà globales seraient en fait une erreur d'accès logique ou matérielle.

Liens connexes:

  1. Fragilité invoquée par Global State et Singletons.
  2. Injection de dépendance pour éviter les singletons.
  3. Factories et Singletons.

À quoi sert le singleton ?

Un singleton doit être utilisé lors de la gestion de l'accès à une ressource partagée par l'ensemble de l'application, et il serait destructeur d'avoir potentiellement plusieurs instances de la même classe. S'assurer que l'accès aux ressources partagées est thread-safe est un très bon exemple de cas où ce type de modèle peut être vital.

Le singleton est-il mauvais Swift ?

Singletons ne sont pas universellement mauvais, mais dans de nombreuses situations, ils viennent avec un ensemble de problèmes qui peuvent être évités en créant des relations plus bien définies entre vos objets et en utilisant la dépendance injection.

Conseillé: