Sinfning global miqyosda mavjud, umumiy namunasini taqdim etish uchun singletonlardan foydalanasiz Bu ta'rif Apple hujjatlariga xos emas. Men yuqorida havola qilgan Vikipediya maqolasida ham aytilgan: “Singleton naqshini amalga oshirish ushbu misolga global kirishni taʼminlashi kerak.”
Nega Swift-da singleton ishlatiladi?
Singleton - bu yaratuvchi dizayn namunasi, u faqat bitta turdagi ob'ekt mavjudligini ta'minlaydi va boshqa har qanday kod uchun unga kirishning yagona nuqtasini ta'minlaydi. Singleton global o'zgaruvchilar bilan deyarli bir xil ijobiy va salbiy tomonlarga ega. Ular juda qulay boʻlsa-da, kodingiz modulligini buzadi.
Singletonni qachon ishlatmaslik kerak?
Singletonni koʻrib chiqishingiz kerak boʻlgan yagona vaziyat, agar allaqachon global maʼlumotlarning bir nechta nusxasi mavjud boʻlsa, mantiqiy yoki apparatga kirish xatosi.
Tegishli havolalar:
- Global State va Singletons tomonidan qoʻllaniladigan moʻrtlik.
- Singleton oldini olish uchun qaramlik in'ektsiyasi.
- Fabrikalar va Singletonlar.
Singleton nima uchun yaxshi?
Singletondan butun ilova tomonidan ulashiladigan resursga kirishni boshqarishda foydalanish kerak va bir xil sinfning bir nechta nusxalariga ega boʻlish halokatli boʻladi. Umumiy manbalarga kirish xavfsiz ekanligiga ishonch hosil qilish, bu turdagi naqsh muhim boʻlishi mumkinligiga juda yaxshi misoldir.
Singleton yomon Swiftmi?
Singletonlar umuman jihatdan yomon emas, lekin koʻp hollarda ular obʼyektlar oʻrtasida aniqroq munosabatlarni yaratish va qaramlikdan foydalanish orqali oldini olish mumkin boʻlgan bir qator muammolar bilan birga keladi. in'ektsiya.