SuperAPI AI 工具集

flutter-apply-architecture-best-practices

编程与开发

查看项目

更新于 10-15 21:55

技能介绍

用途:为 Flutter 应用建立推荐的分层架构,强调严格的关注点分离,禁止将 UI 渲染与业务逻辑或数据获取混在一起。适用于新项目结构搭建或为可扩展性重构。

主要能力: UI 层采用 MVVM。View 为可复用、精简的 widget,仅保留动画、布局约束、简单路由等 UI 操作,所需数据全部由 ViewModel 传入;ViewModel 管理 UI 状态与用户交互,继承 ChangeNotifier(或使用 Listenable)暴露不可变状态快照,通过构造函数注入 Repository。 数据层采用 Repository 模式,作为单一数据源。Service 为无状态类,封装外部 API(HTTP 客户端、本地数据库、平台插件),返回原始 API 模型或 Result 包装;Repository 消费一个或多个 Service,将原始 API 模型转换为干净的领域模型,处理缓存、离线同步与重试逻辑,向 ViewModel 暴露领域模型。 Logic 层(Domain,可选):仅当业务逻辑复杂到使 ViewModel 臃肿,或逻辑需在多个 ViewModel 间复用时,才抽取为位于 ViewModel 与 Repository 之间的 Use Case 类。

项目结构:采用混合方式,UI 组件按功能分组,Data/Domain 组件按类型分组。lib 下含 data(models、repositories、services)、domain(models、use_cases)、ui(core 共享 widget/主题/字体,features 下按功能分 view_models 与 views)。

使用方式:实现新功能时按顺序执行——定义领域模型(可用 freezed 或 built_value 创建不可变数据类);实现 Service;实现 Repository;按需应用领域层条件逻辑(复杂转换或跨仓库逻辑建 Use Case,简单 CRUD 跳过);实现 ViewModel;实现 View(用 ListenableBuilder 或 AnimatedBuilder 监听变化);在依赖注入容器(如 provider 或 get_it)注册 Service、Repository、ViewModel;运行 ViewModel 与 Repository 的单元测试,循环修复直至通过。

限制:资料未提供该技能的具体安装命令、收费方式、支持平台及效果数据。