chant GPT 生成的dart 单例模式

chant GPT 生成的dart 单例模式


前言

心血来潮,使用open AI 生成了一个flutter 的单例模式,看过之后发现,是不是以后再写博客,都不需要那么费力了呢?下面请大家一起鉴赏一下


当使用Dart语言编写单例时,可以通过使用静态成员和工厂构造函数来实现。以下是一个示例

一、单例方法

class MySingleton {
    
    
  static MySingleton _instance;

  // 私有的构造函数
  MySingleton._();

  // 工厂构造函数
  factory MySingleton() {
    
    
    if (_instance == null) {
    
    
      _instance = MySingleton._();
    }
    return _instance;
  }

  void doSomething() {
    
    
    print('Singleton is doing something.');
  }
}

在上面描述的例子中,MySingleton类的构造函数被定为私有的,这样就无法通过new关键字符直接实例化该类。而通过工厂构造函数数factory MySingleton(),我们可以控制实例的创建和返回。

二、使用步骤

使用时,可以通过以下方式获取MySingleton的单例对象:

void main() {
    
    
  MySingleton singleton1 = MySingleton();
  MySingleton singleton2 = MySingleton();

  print(identical(singleton1, singleton2));  // 输出: true

  singleton1.doSomething();  // 输出: Singleton is doing something.
}

在上面描述的代码中,我们通过两次调用MySingleton()创建了两个对象,但由于是单例模型,这两个对象实际上是同一个实例。通过函数进行对比的identical()相似性比较,可以看到两个对比是相同的。


总结

这是一个简单的单例模式的演示,你可以根据实际需要和具体场景进行扩展和修改。

猜你喜欢

转载自blog.csdn.net/u010755471/article/details/131307670
GPT
今日推荐