Sobes.tech
Junior — Middle

Asılılıqların inyeksiyası kontekstində Singleton və Prototype sahəsi arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Asılılıq injektsiyası kontekstində, scope (sahə) yaradılan obyektlərin həyat dövrünü və sayını müəyyən edir.

  • Singleton: obyekt bütün tətbiq və ya DI konteynerinin həyat dövrü boyunca bir dəfə yaradılır. Bu asılılıq üçün bütün sorğular eyni nümunəni alır. Bu, vəziyyəti saxlamaq və ya ümumi xidmətlər üçün əlverişlidir.

  • Prototype: hər sorğuda yeni obyekt nümunəsi yaradılır. Bu, müstəqil obyektə və onun öz vəziyyətinə ehtiyac olduqda faydalıdır.

Misal:

// Singleton sahə
@Component
@Scope("singleton")
public class MyService {
    // bütün tətbiq üçün bir nümunə
}

// Prototype sahə
@Component
@Scope("prototype")
public class MyPrototypeService {
    // hər sorğuda yeni nümunə
}

Beləliklə, Singleton tək nümunə təmin edir, Prototype isə çoxsaylı müstəqil nümunələr təqdim edir, bu da vəziyyətin idarə olunmasına və tətbiqin performansına təsir edir.