Sobes.tech
Junior — Middle

Εξηγήστε την έννοια του μοτίβου Singleton και τα βασικά χαρακτηριστικά του.

sobes.tech AI

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

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

Βασικά χαρακτηριστικά του Singleton:

  • Μόνο ένα στιγμιότυπο: η κλάση ελέγχει τη δημιουργία του αντικειμένου ώστε να μην υπάρχουν περισσότερα.
  • Παγκόσμια προσβασιμότητα: το στιγμιότυπο είναι διαθέσιμο από οποιοδήποτε μέρος του προγράμματος.
  • Αργή αρχικοποίηση: το αντικείμενο δημιουργείται κατά την πρώτη κλήση (συνήθως).

Παράδειγμα σε C#:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                        _instance = new Singleton();
                }
            }
            return _instance;
        }
    }
}

Αυτό το μοτίβο είναι χρήσιμο όταν πρέπει να διαχειριστείτε πόρους ή ρυθμίσεις με κεντρικό τρόπο, π.χ. για έναν καταγραφέα ή διαμόρφωση.