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 көптөгөн көз карандысыз экземплярларды сунуштайт, бул абалдын башкарылуусуна жана тиркеменин иштөө ылдамдыгына таасир этет.