主页 > 其他  > 

Flutter中的单例模式

Flutter中的单例模式

传统:

class RouterManager { // 单例模式 static final RouterManager _instance = RouterManager._internal(); factory RouterManager() { return _instance; } RouterManager._internal(); }

传递参数进行初始化时:

class RouterManager { // 私有静态实例,确保单例 static RouterManager? _instance; // goRouter 是 final 变量,确保它只被初始化一次 final GoRouter goRouter; // 私有构造函数 RouterManager._internal(this.goRouter); // 工厂方法,返回 RouterManager 实例 factory RouterManager({String initialLocation = '/'}) { _instance ??= RouterManager._internal(buildRouter(initialLocation)); return _instance!; } static GoRouter buildRouter(String initialLocation) { return GoRouter( initialLocation: initialLocation, routes: [ GoRoute(path: '/', builder: (context, state) => const SplashPage()), GoRoute(path: '/home', builder: (context, state) => const HomePage()), GoRoute( path: '/detail/:id', builder: (context, state) { final id = state.pathParameters['id']!; return DetailPage(id: id); }, ), ], errorBuilder: (context, state) => Scaffold(body: Center(child: Text('Error: ${state.error}'))), ); } }
标签:

Flutter中的单例模式由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Flutter中的单例模式