Sobes.tech
Junior — Middle

Ինչպե՞ս կարող ենք իրականացնել Singleton ձևանմուշը ժամանակակից կախվածության կոնտեյներով։

sobes.tech AI

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

Ներկառուցված կախվածության կոնտեյներներում (օրինակ, Spring, CDI) Singleton ձևանմուշը իրականացնում է կոնտեյների կոնֆիգուրացիայի միջոցով, որը կառավարում է օբյեկտի կյանքի ցիկլը և երաշխավորում, որ միայն մեկ օրինակ կստեղծվի:

Օրինակ, Spring-ում, բիները ըստ նախնական կարգավորումների singleton-ներ են: Պարզապես հայտարարեք բին:

@Component
public class MySingletonService {
    // տրամաբանություն
}

Կոնտեյները կստեղծի MySingletonService-ի մեկ օրինակ և կօգտագործի այն ամենուր, որտեղ անհրաժեշտ է:

Եթե բինը ստեղծվում է ձեռքով, կարող եք նշել singleton-ի շրջանակը:

@Bean
@Scope("singleton")
public MySingletonService mySingletonService() {
    return new MySingletonService();
}

Այսպիսով, singleton գրանցումը սահմանափակվում է կոմպոնենտի հայտարարությամբ՝ singleton շրջանակով, և կոնտեյները ինքնուրույն երաշխավորում է օրինակակի միակությունը և կառավարում նրա կյանքի ցիկլը։