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 շրջանակով, և կոնտեյները ինքնուրույն երաշխավորում է օրինակակի միակությունը և կառավարում նրա կյանքի ցիկլը։