Сыныптың ғаламдық қолжетімді, ортақ данасын қамтамасыз ету үшін синглондарды пайдаланасыз Бұл анықтама Apple құжаттамасына ғана тән емес. Мен жоғарыда сілтеме жасаған Wikipedia мақаласында сонымен қатар "Сингтон үлгісін іске асыру сол данаға жаһандық қолжетімділікті қамтамасыз етуі керек" делінген.
Свифтте синглон неліктен қолданылады?
Singleton - бұл жасампаз дизайн үлгісі, ол тек бір ғана нысанның бар екеніне кепілдік береді және кез келген басқа код үшін оған жалғыз кіру нүктесін береді. Singleton жаһандық айнымалылар сияқты дерлік оң және теріс жақтарына ие. Олар өте ыңғайлы болғанымен, кодыңыздың модульділігін бұзады.
Синглонды қашан қолданбау керек?
Синглонды қарастыратын жалғыз жағдай - әлдеқашан жаһандық деректердің бірден көп данасы болған кезде логикалық немесе аппараттық қатынас қатесі.
Қатысты сілтемелер:
- Жаһандық жағдай және Singletons шақырған морт.
- Синглеттерді болдырмау үшін тәуелділік инъекциясы.
- Зауыттар мен даралар.
Сингтонның қайсысы жақсы?
Синглонды барлық қолданба ортақ пайдаланатын ресурсқа кіруді басқарған кезде пайдалану керек және бір сыныптың бірнеше даналары болуы мүмкін болатын жойқын болуы мүмкін. Ортақ ресурстар ағынының қауіпсіз қолжетімділігін қамтамасыз ету - бұл үлгі түрінің маңызды болуы мүмкін болатын өте жақсы мысал.
Синглон Свифт нашар ма?
Синглетондар әмбебап жаман емес, бірақ көптеген жағдайларда олар объектілер арасында нақтырақ анықталған қарым-қатынастар жасау және тәуелділікті пайдалану арқылы болдырмауға болатын мәселелер жиынтығымен келеді. инъекция.