SuperAPI AI 工具集

service-boundary-and-native

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:为 Flutter 应用建立服务边界与原生通道规范,把平台能力(读取时间、分享、日志、远程开关、MethodChannel 调用)统一作为注入接口跨层传递,使功能代码纯净、SDK 可替换、可无头测试。

主要能力:接口只引用值类型,具体 SDK 只存在于一个实现类;组合根 main 装配唯一真实实现,测试装配手写 fake;每个方法返回类型化结果(sealed outcome 或 Result),取消、空结果、不可用都作为控制流而非异常;Provider 未覆盖时抛 UnimplementedError,充当 DI;时间统一经 clockProvider 注入 package:clock 的 Clock,禁止 DateTime.now();所有 MethodChannel 集中在 lib/native/;跨语言共享格式为带版本契约,两侧同一次提交修改并由集成测试验证。

使用方式:定义抽象接口与 Provider,在 main 中 overrideWithValue 注入真实实现;测试用 ProviderContainer.test 覆盖为 fake;提交前运行 scripts/check-service-boundaries.sh 与 scripts/check-flavor-graph.sh。多 flavor 时每个 flavor 一个 main_<flavor>.dart,逐行对应。

适用场景:需要隔离平台 SDK、保证可测试性与可替换性的 Flutter 项目。

限制:资料未提供具体收费、平台支持范围或性能数据;规则依赖 Riverpod 或 package:provider 等既有技术栈。