Sobes.tech
Junior — Middle

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

sobes.tech AI

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

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

Χρησιμοποιείται όταν χρειάζεται να ελέγξετε την πρόσβαση σε πόρους, όπως μια βάση δεδομένων, ένα logger ή μια διαμόρφωση.

Παράδειγμα σε 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;
        }
    }

    public void DoSomething()
    {
        // Λειτουργία
    }
}

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