Junior — Middle
Εξηγήστε την έννοια του μοτίβου Singleton και τα βασικά χαρακτηριστικά του.
sobes.tech AI
Απάντηση από AI
Το μοτίβο Singleton διασφαλίζει ότι μια κλάση έχει μόνο ένα στιγμιότυπο και παρέχει μια παγκόσμια πρόσβαση σε αυτό το στιγμιότυπο. Αυτό είναι χρήσιμο όταν χρειάζεται να διαχειριστείτε κεντρικά την κατάσταση ή τους πόρους, π.χ., κατά την εργασία με ρυθμίσεις εφαρμογής ή διαχειριστή βάσης δεδομένων.
Τα βασικά χαρακτηριστικά του Singleton:
- Μόνο ένα στιγμιότυπο: η κλάση ελέγχει τη δημιουργία του αντικειμένου και δεν επιτρέπει τη δημιουργία περισσότερων.
- Παγκόσμια προσβασιμότητα: το στιγμιότυπο είναι διαθέσιμο από οποιοδήποτε μέρος του προγράμματος μέσω μιας στατικής μεθόδου ή ιδιότητας.
- Αργή αρχικοποίηση: το αντικείμενο δημιουργείται κατά την πρώτη πρόσβαση (lazy initialization).
Παράδειγμα υλοποίησης Singleton σε Dart (Flutter):
class Singleton {
Singleton._privateConstructor();
static final Singleton _instance = Singleton._privateConstructor();
factory Singleton() {
return _instance;
}
void someMethod() {
print('Κλήση μεθόδου Singleton');
}
}
void main() {
var s1 = Singleton();
var s2 = Singleton();
print(identical(s1, s2)); // true
}
Εδώ, ο κατασκευαστής είναι ιδιωτικός και η πρόσβαση στην περίπτωση γίνεται μέσω κατασκευαστή εργοστασίου, που πάντα επιστρέφει το ίδιο αντικείμενο.