foundation模块的basic_types.dart,开始声明了一些回调函数的typedef,中间封装了CachingIterable, 最后封装了Factory接口(interface)。
- 一些通用的回调函数:
VoidCallback //void Function(T value);
ValueChanged //void Function(T value);
ValueSetter //T Function();
ValueGetter //Iterable<T> Function(Iterable<T> input)
IterableFilter //Future<void> Function();
AsyncCallback //Future<void> Function();
AsyncValueSetter // Future<void> Function(T value);
AsyncValueGetter //Future<T> Function();
-
封装的CachingIterable,代码其实并不复杂,继承了IterableBase所有方法,另外补充了length和toList方法,在多次调用length和toList方法的场景里,性能很好。原理是利用list缓存所有内容。
-
提供了一个工厂接口(interface),内部实现很简单。可以很方便知道创建的对象的类型。
这是flutter框架源码分析的其中一篇,因能力有限,有诸多不足之处,还请斧正。
网友评论