Koristite singletons za pružanje globalno pristupačne, dijeljene instance klase Ova definicija nije jedinstvena za Appleovu dokumentaciju. Članak na Wikipediji koji sam gore povezao također navodi da "Implementacija singleton uzorka mora osigurati globalni pristup toj instanci. "
Zašto se singleton koristi u Swiftu?
Singleton je kreacijski uzorak dizajna, koji osigurava da postoji samo jedan objekt te vrste i pruža mu jednu točku pristupa za bilo koji drugi kod. Singleton ima gotovo iste prednosti i nedostatke kao globalne varijable. Iako su super praktični, razbijaju modularnost vašeg koda.
Kada ne biste trebali koristiti singleton?
Jedina situacija u kojoj biste trebali uzeti u obzir singleton je kada bi posjedovanje više od jedne instance već globalnih podataka zapravo bila logička ili hardverska pogreška pristupa.
. …
Srodne veze:
- Krhkost na koju se pozivaju Global State i Singletons.
- Injekcija ovisnosti za izbjegavanje pojedinačnih.
- Tvornice i Singletons.
Za što je singleton dobro?
Singleton bi se trebao koristiti kada se upravlja pristupom resursu koji dijeli cijela aplikacija, a bilo bi destruktivno potencijalno imati više instanci iste klase. Osiguravanje da je pristup dijeljenim resursima siguran niti jedan vrlo dobar primjer gdje ova vrsta uzorka može biti vitalna.
Je li singleton loš Swift?
Singletons nisu univerzalno loši, ali u mnogim situacijama dolaze sa nizom problema koji se mogu izbjeći stvaranjem bolje definiranih odnosa između vaših objekata i korištenjem ovisnosti injekcija.