Käytät singletoneja tarjoaaksesi maailmanlaajuisesti käytettävissä olevan jaetun luokan esiintymän Tämä määritelmä ei ole ainutlaatuinen Applen dokumentaatiossa. Yllä linkittämässäni Wikipedia-artikkelissa sanotaan myös, että "Singleton-mallin toteutuksen on tarjottava globaali pääsy kyseiseen esiintymään. "
Miksi singletonia käytetään Swiftissä?
Singleton on luova suunnittelumalli, joka varmistaa, että vain yksi lajissaan on olemassa ja tarjoaa yhden pääsyn siihen mille tahansa muulle koodille. Singletonilla on lähes samat edut ja haitat kuin globaaleilla muuttujilla. Vaikka ne ovat erittäin käteviä, ne rikkovat koodisi modulaarisuuden.
Milloin sinun ei pitäisi käyttää singletonta?
Ainoa tilanne, jossa sinun tulee harkita yksittäistapausta, on se, että useamman kuin yhden esiintymän olemassaolo jo globaaleista tiedoista olisi itse asiassa looginen tai laitteiston käyttövirhe.
Aiheeseen liittyvät linkit:
- Global State ja Singletons vedottavat haurautta.
- Riippuvuusinjektio sinkkujen välttämiseksi.
- Tehtaat ja Singletons.
Mille singleton sopii?
Yksittä tulisi käyttää hallittaessa pääsyä resurssiin, joka on jaettu koko sovelluksen kanssa, ja olisi tuhoisaa, jos samassa luokassa olisi mahdollisesti useita esiintymiä. Jaettujen resurssien turvallisuuden varmistaminen on yksi erittäin hyvä esimerkki siitä, missä tällainen malli voi olla elintärkeää.
Onko singleton huono Swift?
Singletons eivät ole yleisesti huonoja, mutta monissa tilanteissa niihin liittyy joukko ongelmia, jotka voidaan välttää luomalla tarkemmin määritellyt suhteet objektien välille ja käyttämällä riippuvuutta injektio.