Sobes.tech
Junior — Middle

Ποιος είναι ο κύριος στόχος του μοτίβου Singleton και σε ποιες περιπτώσεις εφαρμόζεται;

sobes.tech AI

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

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

Εφαρμόζεται το Singleton όταν:

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

Παράδειγμα σε PHP:

class Singleton {
    private static ?Singleton $instance = null;

    private function __construct() {
        // ιδιωτικός κατασκευαστής
    }

    public static function getInstance(): Singleton {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// Χρήση
$instance = Singleton::getInstance();