Sobes.tech
Junior — Middle

Bog'lanishlar injektsiyasi kontekstida Singleton va Prototype sohalari qanday farq qiladi?

sobes.tech AI

AIdan javob

Dependency injection kontekstida, scope (kapsam) yaratiladigan obyektlarning hayot aylanishini va sonini belgilaydi.

  • Singleton: obyekt butun ilova yoki DI konteynerining hayot aylanishi davomida bir marta yaratiladi. Bu dependensiya uchun barcha so'rovlar bir xil nusxani oladi. Bu xizmatlar uchun qulay, ular holatni saqlash yoki umumiy bo'lishi kerak.

  • Prototype: har bir so'rovda yangi obyekt nusxasi yaratiladi. Bu mustaqil obyektga, o'z holati bilan, ehtiyoj bo'lsa, foydalidir.

Misol:

// Singleton scope
@Component
@Scope("singleton")
public class MyService {
    // butun ilova uchun bitta nusxa
}

// Prototype scope
@Component
@Scope("prototype")
public class MyPrototypeService {
    // har bir so'rovda yangi nusxa
}

Shu tarzda, Singleton yagona nusxani ta'minlaydi, Prototype esa ko'plab mustaqil nusxalarni, bu esa holatni boshqarish va ilova ishlashini ta'sir qiladi.