1. 饿汉式单例模式:

class Singleton { static final Singleton _instance = Singleton._internal();

factory Singleton() { return _instance; }

Singleton._internal(); }

  1. 懒汉式单例模式:

class Singleton { static Singleton _instance;

Singleton._internal();

static Singleton getInstance() { if (_instance == null) { _instance = Singleton._internal(); } return _instance; } }

  1. 工厂方法单例模式:

abstract class Singleton { factory Singleton() => _Singleton.getInstance(); }

class _Singleton implements Singleton { static Singleton _instance;

_Singleton._internal();

static Singleton getInstance() { if (_instance == null) { _instance = _Singleton._internal(); } return _instance; } }

  1. 枚举单例模式:

enum Singleton { instance }

  1. 静态常量单例模式:

class Singleton { static const Singleton _instance = Singleton._internal();

factory Singleton() { return _instance; }

Singleton._internal(); }

写出dart的所有单例模式代码

原文地址: https://www.cveoy.top/t/topic/bTRE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录