Sobes.tech
Junior — Middle

Τι είναι το μοτίβο Singleton και ποια είναι τα πλεονεκτήματα και μειονεκτήματα που πρέπει να ληφθούν υπόψη;

sobes.tech AI

Απάντηση από AI

Το πρότυπο Singleton διασφαλίζει ότι μια κλάση έχει μόνο ένα στιγμιότυπο και παρέχει μια παγκόσμια πρόσβαση σε αυτό.

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

  • Έλεγχος στη δημιουργία του μοναδικού αντικειμένου.
  • Ευκολία πρόσβασης σε κοινόχρηστους πόρους ή ρυθμίσεις.

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

  • Μπορεί να οδηγήσει σε προβλήματα δοκιμών λόγω της παγκόσμιας κατάστασης.
  • Παραβιάζει τις αρχές της αντιστροφής εξαρτήσεων και μπορεί να περιπλέξει τη συντήρηση.
  • Σε περιβάλλοντα πολλαπλών νημάτων, απαιτεί πρόσθετο συγχρονισμό.

Παράδειγμα σε Swift για iOS:

class Singleton {
    static let shared = Singleton()
    private init() { }

    func doSomething() {
        print("Εκτέλεση ενέργειας")
    }
}

// Χρήση
Singleton.shared.doSomething()