Feu servir singletons per proporcionar una instància compartida i accessible a nivell mundial d'una classe Aquesta definició no és exclusiva de la documentació d'Apple. L'article de la Viquipèdia que he enllaçat més amunt també diu que "Una implementació del patró singleton ha de proporcionar accés global a aquesta instància ".
Per què s'utilitza singleton a Swift?
Singleton és un patró de disseny de creació, que garanteix que només existeix un objecte d'aquest tipus i ofereix un únic punt d'accés per a qualsevol altre codi. Singleton té gairebé els mateixos pros i contres que les variables globals. Tot i que són molt útils, trenquen la modularitat del teu codi.
Quan no hauríeu d'utilitzar un singleton?
L'única situació en què hauríeu de considerar un singleton és quan tenir més d'una instància de dades ja globals seria un error d'accés lògic o de maquinari.
Enllaços relacionats:
- Fragilitat invocada per Global State i Singletons.
- Injecció de dependència per evitar els solters.
- Fàbriques i solters.
Per a què és bo el singleton?
S'hauria d'utilitzar un singleton en gestionar l'accés a un recurs compartit per tota l'aplicació, i seria destructiu tenir diverses instàncies de la mateixa classe. Assegurar-se que l'accés als recursos compartits és segur és un bon exemple d'on aquest tipus de patró pot ser vital.
El singleton és dolent Swift?
Singletons no són universalment dolents, però en moltes situacions tenen un conjunt de problemes que es poden evitar creant relacions més ben definides entre els vostres objectes i utilitzant la dependència injecció.