什么是最佳编程实践
在Flutter中创建一个常量类
保留所有应用程序常数以便于参考。我知道constDart中有一个用于创建常量字段的关键字,但是可以static与const一起使用,还是会在运行时创建内存问题。
const
static
class Constants { static const String SUCCESS_MESSAGE=" You will be contacted by us very soon."; }
尽管方面没有技术问题static const,但从体系结构上来说,您可能希望采用其他方法。
static const
Flutter往往 没有 任何全局/静态变量, 而是 使用InheritedWidget。
这意味着您可以编写:
class MyConstants extends InheritedWidget { static MyConstants of(BuildContext context) => context. dependOnInheritedWidgetOfExactType<MyConstants>(); const MyConstants({Widget child, Key key}): super(key: key, child: child); final String successMessage = 'Some message'; @override bool updateShouldNotify(MyConstants oldWidget) => false; }
然后插入到应用程序的根目录:
void main() { runApp( MyConstants( child: MyApp(), ), ); }
并这样使用:
@override Widget build(BuilContext context) { return Text(MyConstants.of(context).successMessage); }
该代码比的代码多一点static const,但具有许多优点:
但同时: