Junior — Middle
Τι είναι το μοτίβο Singleton και ποια είναι τα πλεονεκτήματα και μειονεκτήματα που πρέπει να ληφθούν υπόψη;
sobes.tech AI
Απάντηση από AI
Το πρότυπο Singleton διασφαλίζει ότι μια κλάση έχει μόνο ένα στιγμιότυπο και παρέχει μια παγκόσμια πρόσβαση σε αυτό.
Πλεονεκτήματα:
- Έλεγχος στη δημιουργία του μοναδικού αντικειμένου.
- Ευκολία πρόσβασης σε κοινόχρηστους πόρους ή ρυθμίσεις.
Μειονεκτήματα:
- Μπορεί να οδηγήσει σε προβλήματα δοκιμών λόγω της παγκόσμιας κατάστασης.
- Παραβιάζει τις αρχές της αντιστροφής εξαρτήσεων και μπορεί να περιπλέξει τη συντήρηση.
- Σε περιβάλλοντα πολλαπλών νημάτων, απαιτεί πρόσθετο συγχρονισμό.
Παράδειγμα σε Swift για iOS:
class Singleton {
static let shared = Singleton()
private init() { }
func doSomething() {
print("Εκτέλεση ενέργειας")
}
}
// Χρήση
Singleton.shared.doSomething()