Jednotky používáte k poskytování globálně přístupné sdílené instance třídy Tato definice není jedinečná pro dokumentaci společnosti Apple. Článek Wikipedie, na který jsem odkazoval výše, také uvádí, že „Implementace vzoru singleton musí poskytovat globální přístup k této instanci.“
Proč se ve Swiftu používá singleton?
Singleton je tvorný designový vzor, který zajišťuje existenci pouze jednoho objektu svého druhu a poskytuje jediný přístupový bod k němu pro jakýkoli jiný kód. Singleton má téměř stejné klady a zápory jako globální proměnné. Přestože jsou super praktické, narušují modularitu vašeho kódu.
Kdy byste neměli používat singleton?
Jediná situace, ve které byste měli zvážit singleton, je situace, kdy více než jedna instance již globálních dat by ve skutečnosti byla logická nebo hardwarová chyba přístupu.
Související odkazy:
- Křehkost vyvolaná Global State a Singletons.
- Injekce závislosti, jak se vyhnout singletonům.
- Továrny a singletony.
K čemu je singleton dobrý?
Jednotka by se měla používat při správě přístupu ke zdroji, který je sdílen celou aplikací, a bylo by destruktivní mít potenciálně více instancí stejné třídy. Zajištění bezpečného přístupu ke sdíleným zdrojům pod vláknem je velmi dobrým příkladem toho, kde může být tento druh vzoru životně důležitý.
Je singleton špatný Swift?
Singletony nejsou všeobecně špatné, ale v mnoha situacích přicházejí s řadou problémů, kterým lze předejít vytvořením přesněji definovaných vztahů mezi vašimi objekty a použitím závislosti injekce.