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()

Πλεονεκτήματα:

  • Εγγυάται ότι υπάρχει μόνο ένα αντίγραφο.
  • Μοναδικό σημείο πρόσβασης στο αντίγραφο.

Μειονεκτήματα:

  • Μπορεί να δυσκολέψει τον έλεγχο (δύσκολο να αντικατασταθεί με mock).
  • Παραβιάζει την αρχή της μοναδικής ευθύνης (η κλάση διαχειρίζεται τη λογική και τη διαχείριση του αντιγράφου).
  • Μπορεί να δημιουργήσει προβλήματα με τον πολλαπλό νήμα αν δεν είναι συγχρονισμένο.