Junior — Middle
Երբ է տեղի ունենում Singleton-խաղարկակի օրինակ ստեղծելը?
sobes.tech AI
Պատասխան AI-ից
Singleton նմուշի օրինակ ստեղծվում է առաջին դիմումի ժամանակ, եթե օգտագործվում է դանդաղ (lazy) սկզբնավորումը:
Այն նշանակում է, որ օբյեկտը ստեղծվում է այն ժամանակ, երբ առաջին անգամ կանչվում է այն մեթոդը, որը վերադարձնում է Singleton-ը, օրինակ, getInstance(): Սա թույլ է տալիս հետաձգել օբյեկտի ստեղծումը մինչև այն ժամանակը, երբ այն իսկապես անհրաժեշտ է, խնայելով ռեսուրսները:
Android/Java-ում Lazy Initialization օրինակ՝
public class Singleton {
private static Singleton instance;
private Singleton() {
// մասնավոր կոնստրուկտոր
}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Եթե փոխարենը օգտագործվում է դասի բեռնումով սկզբնավորումը (eager initialization), ապա օրինակն անմիջապես ստեղծվում է դասի բեռնումից հետո, նախքան առաջին դիմումը։