Singletons používate na poskytovanie globálne dostupnej zdieľanej inštancie triedy Táto definícia nie je jedinečná v dokumentácii spoločnosti Apple. V článku Wikipédie, na ktorý som odkazoval vyššie, sa tiež uvádza, že „Implementácia vzoru singleton musí poskytnúť globálny prístup k tejto inštancii.“
Prečo sa v Swifte používa singleton?
Singleton je tvorný dizajnový vzor, ktorý zaisťuje existenciu iba jedného objektu svojho druhu a poskytuje jediný prístupový bod pre akýkoľvek iný kód. Singleton má takmer rovnaké výhody a nevýhody ako globálne premenné. Hoci sú super praktické, porušujú modularitu vášho kódu.
Kedy by ste nemali používať singleton?
Jediná situácia, v ktorej by ste mali zvážiť singleton, je, keď by viac ako jedna inštancia už globálnych údajov bola v skutočnosti logická alebo hardvérová chyba prístupu.
Súvisiace odkazy:
- Krehkosť vyvolaná Global State a Singletons.
- Injekcia závislosti, aby ste sa vyhli singletonom.
- Továrne a singletony.
Na čo je singleton dobrý?
Pri spravovaní prístupu k zdroju, ktorý zdieľa celá aplikácia , by sa mal použiť singletona potenciálne mať viacero inštancií rovnakej triedy by bolo deštruktívne. Zabezpečenie bezpečného prístupu k zdieľaným zdrojom pod vláknami je jedným z veľmi dobrých príkladov toho, kde môže byť tento druh vzoru životne dôležitý.
Je singleton zlý Swift?
Singletony nie sú všeobecne zlé, ale v mnohých situáciách prichádzajú so súborom problémov, ktorým sa dá vyhnúť vytvorením presnejšie definovaných vzťahov medzi vašimi objektmi a použitím závislosti injekcia.