作者:男人吧总负责人千金 | 来源:互联网 | 2024-12-18 17:50
在 Flutter 开发中,单例模式是一种常用的编程模式,它确保一个类只有一个实例,并提供一个全局访问点。下面是一个简单的示例,展示了如何在 Flutter 中实现单例模式。
class DataStorage {
factory DataStorage() => _getInstance();
static DataStorage _instance;
DataStorage._internal();
static DataStorage _getInstance() {
if (_instance == null) {
_instance = new DataStorage._internal();
}
return _instance;
}
// 添加一个属性,用于通过单例缓存数据
int value = 0;
}
接下来,我们将在应用程序的主要入口处使用这个单例类来存储和检索数据:
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 将数据存储到单例中
DataStorage().value = 200;
return MaterialApp(
title: 'Singleton Example',
home: Scaffold(
appBar: AppBar(title: Text('Data')),
body: TestScreen(),
),
);
}
}
class TestScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
// 从单例中读取数据
int dataValue = DataStorage().value;
return Scaffold(
body: Center(
child: Text('Stored Value: $dataValue'),
),
);
}
}
通过上述代码,我们可以看到,无论在应用的哪个部分调用 DataStorage()
,都会返回同一个实例,从而保证了数据的一致性。