Singletonokat használ egy osztály globálisan elérhető, megosztott példányának biztosítására Ez a meghatározás nem egyedi az Apple dokumentációjában. A fent hivatkozott Wikipédia-cikk is kijelenti, hogy „Az egyszemélyes minta megvalósításának globális hozzáférést kell biztosítania ahhoz a példányhoz.”
Miért használják a singletont a Swiftben?
A
Singleton egy kreatív tervezési minta, amely biztosítja, hogy csak egy ilyen objektum létezzen, és egyetlen hozzáférési pontot biztosít minden más kód számára. A Singletonnak szinte ugyanazok az előnyei és hátrányai vannak, mint a globális változóknak. Noha rendkívül praktikusak, megtörik a kód modularitását.
Mikor ne használjon szinglihangot?
Az egyetlen szituáció, amelyben érdemes fontolóra venni az egypontosságot, az az, amikor a már globális adatok egynél több példánya valójában logikai vagy hardveres hozzáférési hiba.
Kapcsolódó linkek:
- A ridegségre hivatkozik a Global State és a Singletons.
- Függőséginjekció a szingletónusok elkerülésére.
- Gyárak és Singletons.
Mire jó a singleton?
Singletont kell használni egy olyan erőforráshoz való hozzáférés kezelésekor, amelyen a teljes alkalmazás osztozik, és pusztító lenne, ha ugyanannak az osztálynak több példánya lenne. A megosztott erőforrásokhoz való biztonságos hozzáférés biztosítása egy nagyon jó példa arra, hogy ez a fajta minta létfontosságú lehet.
A singleton rossz Swift?
Singletonok nem általánosan rosszak, de sok esetben olyan problémákkal járnak, amelyek elkerülhetők, ha jobban definiált kapcsolatokat hoznak létre az objektumok között és függőséget használnak. injekció.