Sobes.tech
Back to questions
Junior — Middle
146

Можете привести пример реализации паттерна Singleton в коде?

Companies where asked
AndersenAndersen

Answer from AI

sobes.tech AI

В Dart (язык Flutter) паттерн Singleton можно реализовать с помощью приватного конструктора и статического поля, которое хранит единственный экземпляр класса. Вот простой пример:

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, оба объекта одинаковы
  s1.someMethod();
}

Таким образом, класс Singleton гарантирует, что будет создан только один экземпляр, и все вызовы конструктора возвращают этот же объект.