Sobes.tech
Junior — Middle

Ինչպես իրականացնել Singleton դիզայնի օրինակ Java-ում?

sobes.tech AI

Պատասխան AI-ից

Singleton նմուշը երաշխավորում է, որ դասը ունի միայն մեկ օրինակ և տրամադրում է գլոբալ մուտք դեպի այն:

Java-ում դա կարող է իրականացվել մի քանի եղանակով: Մի պարզ և թելային անվտանգ տարբերակ է օգտագործել դանդաղեցված ինիցիալիզացիա synchronized բանալի բառով կամ օգտագործել ստատիկ ներքին դաս:

Ստատիկ ներքին դասով օրինակ՝

public class Singleton {
    private Singleton() {
        // մասնավոր կոնստրուկտոր
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Այս մոտեցումը երաշխավորում է, որ օրինակը ստեղծվում է միայն առաջին getInstance() կանչի ժամանակ և ապահով է թելերով synchronized օգտագործելու առանց։