Junior
რა არის Singleton ნიმუში?
sobes.tech AI
პასუხი AI-სგან
Singleton — ეს არის შექმნის დიზაინის ნიმუში, რომელიც გარანტირებს, რომ ყოველ მომენტში მხოლოდ ერთი კლასი იქნება, რომელიც ხელმისაწვდომია გლობალურად. გამოიყენება რესურსების ან კონფიგურაციების ცენტრალიზებული მართვისთვის.
Swift-ში მაგალითი:
class Singleton {
static let shared = Singleton() // სტატიკური თვისება ერთგვარი მაგალითისთვის
private init() { // პირადი კონსტრუქტორი, რომელიც აცილებს ახალი მაგალითების შექმნას გარედან
// Singleton-ის კონფიგურაცია
}
func someMethod() {
// Singleton-ის ლოგიკა
}
}
// Singleton-ის გამოყენება
let instance = Singleton.shared
instance.someMethod()
უპირატესობები:
- გარანტირებულია, რომ მხოლოდ ერთი მაგალითი იქნება.
- ერთიანი წვდომის წერტილი.
მოხერხებულობები:
- შეიძლება გამარტივდეს ტესტირება (მოკით შეცვლა რთულია).
- არღვევს ერთგულ პასუხისმგებლობის პრინციპს (კლასი მართავს თავის ლოგიკას და მაგალითის მართვას).
- შეიძლება გამოიწვიოს პრობლემები მრავალთრედული გარემოში, თუ არ არის სინქრონიზებული.