Java'da singleton sinfini qayerda ishlatamiz?
Java'da singleton sinfini qayerda ishlatamiz?

Video: Java'da singleton sinfini qayerda ishlatamiz?

Video: Java'da singleton sinfini qayerda ishlatamiz?
Video: Рефакторинг: шаблон Factory [Design Patterns] 2024, Noyabr
Anonim

A singleton oddiygina a sinf bu aynan bir marta instantsiyalangan Java Virtual mashina. Bu ishlatilgan ob'ektga global kirish nuqtasini ta'minlash. Amaliy nuqtai nazardan Singleton-dan foydalaning naqshlardir ishlatilgan jurnallarda, keshlarda, ip hovuzlarida, konfiguratsiya sozlamalarida, qurilma drayveri ob'ektlarida.

Singleton klassi qayerda ishlatiladi?

Singleton sinflari ro'yxatga olish, drayver ob'ektlari, keshlash va iplar puli, ma'lumotlar bazasi ulanishlari uchun ishlatiladi. ning amalga oshirilishi singleton sinf quyidagi xususiyatlarga ega bo'lishi kerak: U faqat bitta misolga ega bo'lishi kerak: Bu misolni taqdim etish orqali amalga oshiriladi sinf ichidan sinf.

Keyinchalik savol tug'iladi, Singleton sinfi qanday ishlaydi? A singleton a sinf bu o'zining faqat bitta nusxasini yaratishga imkon beradi va yaratilgan namunaga kirish imkonini beradi. U o'ziga xos va shaxsiy misollarni sig'dira oladigan statik o'zgaruvchilarni o'z ichiga oladi. U foydalanuvchi a ning instantsiyasini cheklamoqchi bo'lgan stsenariylarda qo'llaniladi sinf faqat bitta ob'ektga.

Keyinchalik savol tug'iladi: Java-da singleton klassi nima va biz qanday qilib sinf singlini yaratishimiz mumkin?

Singleton klassi siz faqat bittasini yaratishingiz mumkinligini anglatadi ob'ekt berilgan sinf uchun. Singleton klassini uning konstruktorini shaxsiy qilib yaratishingiz mumkin, shuning uchun uni yaratishni cheklashingiz mumkin ob'ekt . ning misolini olish uchun statik usulni taqdim eting ob'ekt , unda siz boshqarishingiz mumkin ob'ekt faqat sinf ichida yaratish.

Java-da singleton sinfini necha usul bilan yaratish mumkin?

Ushbu postda men beshtasini tasvirlab beraman yo'llari amalga oshirish uchun Java-da yagona naqsh . Ular getInstane() usulini sinxronlashtirish, statik yakuniy o'zgaruvchi, uchuvchi kalit so'z bilan ikki marta tekshirish blokirovkasidan foydalanish, SingletonHolder va Enum yordamida.

Tavsiya: