Sobes.tech
Junior — Middle

Leg het concept van het Singleton-patroon uit en zijn belangrijkste kenmerken.

sobes.tech AI

Antwoord van AI

Het Singleton-patroon garandeert dat een klasse slechts één instantie heeft en biedt een globaal toegangspunt tot die instantie. Dit is handig wanneer je centraal de status of bronnen moet beheren, bijvoorbeeld bij het werken met applicatie-instellingen of een databasebeheerder.

Belangrijkste kenmerken van Singleton:

  • Eén instantie: de klasse beheert de creatie van het object en staat niet toe dat er meer dan één wordt gemaakt.
  • Globale toegankelijkheid: de instantie is vanuit elk deel van het programma toegankelijk via een statische methode of eigenschap.
  • Lazy initialisatie: het object wordt bij de eerste aanroep gemaakt (lazy initialization).

Voorbeeld van een Singleton-implementatie in Dart (Flutter):

class Singleton {
  Singleton._privateConstructor();

  static final Singleton _instance = Singleton._privateConstructor();

  factory Singleton() {
    return _instance;
  }

  void someMethod() {
    print('Aanroep van Singleton-methode');
  }
}

void main() {
  var s1 = Singleton();
  var s2 = Singleton();
  print(identical(s1, s2)); // true
}

Hier is de constructor privé en wordt toegang tot de instantie verkregen via een fabrieksconstructor, die altijd hetzelfde object retourneert.