Junior — Middle
Ի՞նչ տարբերություն կա Singleton և Prototype տեսականու միջեւ կախվածությունների ներմուծման համատեքստում։
sobes.tech AI
Պատասխան AI-ից
Անհրաժեշտության մուտքի կոնտեքստում, scope (համար) սահմանում է ստեղծվող օբյեկտների կյանքի ցիկլը և քանակը:
-
Singleton: օբյեկտը ստեղծվում է մեկ անգամ ամբողջ հավելվածի կամ DI կոնտեյների կյանքի ընթացքում: Բոլոր այս կախվածության հարցումները ստանում են նույն օրինակը: Սա հարմար է այն ծառայությունների համար, որոնք պետք է պահեն վիճակ կամ ընդհանուր լինեն:
-
Prototype: յուրաքանչյուր հարցում ստեղծվում է նոր օբյեկտի օրինակ: Սա օգտակար է, երբ անհրաժեշտ է անկախ օբյեկտ՝ սեփական վիճակով:
Օրինակ:
// Scope Singleton
@Component
@Scope("singleton")
public class MyService {
// մեկ օրինակ ամբողջ հավելվածի համար
}
// Scope Prototype
@Component
@Scope("prototype")
public class MyPrototypeService {
// նոր օրինակ յուրաքանչյուր հարցում
}
Այսպիսով, Singleton ապահովում է միակ օրինակ, իսկ Prototype-ը՝ մի քանի անկախ օրինակ, ինչը ազդում է վիճակի կառավարման և հավելվածի կատարողականության վրա։