Sobes.tech
Junior — Middle

Оё метавонед намунаи иҷрои модели Singleton дар кодро пешниҳод кунед?

sobes.tech AI

Ҷавоб аз 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 кафолат медиҳад, ки танҳо як намуна сохта мешавад, ва ҳама даъватҳои конструктор ҳамин объектро бармегардонанд.