Դուք օգտագործում եք singletons դասի գլոբալ հասանելի, ընդհանուր օրինակ տրամադրելու համար Այս սահմանումը եզակի չէ Apple-ի փաստաթղթերի համար: Վիքիպեդիայի հոդվածում, որը ես կապեցի վերևում, նաև ասվում է, որ «Singleton օրինաչափության իրականացումը պետք է ապահովի գլոբալ հասանելիություն այդ օրինակին»:
Ինչու՞ է Swift-ում օգտագործվում singleton:
Singleton-ը ստեղծագործական դիզայնի օրինաչափություն է, որն ապահովում է իր տեսակի մեջ միայն մեկ օբյեկտի գոյությունը և ապահովում է դրան մուտքի մեկ կետ ցանկացած այլ կոդի համար: Singleton-ն ունի գրեթե նույն դրական և բացասական կողմերը, ինչ գլոբալ փոփոխականները: Չնայած դրանք շատ հարմար են, դրանք խախտում են ձեր կոդի մոդուլյարությունը:
Ե՞րբ չի կարելի օգտագործել սինգլը:
Միակ իրավիճակը, երբ դուք պետք է հաշվի առնեք սինգլտոնը, երբ արդեն գլոբալ տվյալների մեկից ավելի օրինակ ունենալն իրականում տրամաբանական կամ ապարատային մուտքի սխալ է:
Հարակից հղումներ՝
- Փխրունություն, որին դիմում են Գլոբալ Պետությունը և Սինգլթոնները:
- Կախվածության ներարկում՝ միայնակներից խուսափելու համար:
- Factorys and Singletons.
Ինչի՞ համար է հարմար սինգտոնը:
Սինգտոնը պետք է օգտագործվի երբ կառավարում է մուտքը դեպի ռեսուրս, որը համօգտագործվում է ամբողջ հավելվածի կողմից, և կործանարար կլինի միևնույն դասի մի քանի օրինակներ ունենալը: Համոզված լինելը, որ ընդհանուր ռեսուրսների հասանելիությունը շղթայով անվտանգ է, շատ լավ օրինակ է այն բանի, թե որտեղ կարող է կենսական նշանակություն ունենալ այս տեսակի օրինաչափությունը:
Արդյո՞ք միալոնը վատ Swift-ն է:
Singletons համընդհանուր վատ չեն, բայց շատ իրավիճակներում դրանք գալիս են մի շարք խնդիրների հետ, որոնցից կարելի է խուսափել՝ ստեղծելով ավելի հստակ հարաբերություններ ձեր օբյեկտների միջև և օգտագործելով կախվածությունը: ներարկում.