Sobes.tech
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-ը՝ մի քանի անկախ օրինակ, ինչը ազդում է վիճակի կառավարման և հավելվածի կատարողականության վրա։