Sobes.tech
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()

უპირატესობები:

  • გარანტირებულია, რომ მხოლოდ ერთი მაგალითი იქნება.
  • ერთიანი წვდომის წერტილი.

მოხერხებულობები:

  • შეიძლება გამარტივდეს ტესტირება (მოკით შეცვლა რთულია).
  • არღვევს ერთგულ პასუხისმგებლობის პრინციპს (კლასი მართავს თავის ლოგიკას და მაგალითის მართვას).
  • შეიძლება გამოიწვიოს პრობლემები მრავალთრედული გარემოში, თუ არ არის სინქრონიზებული.