SuperAPI AI 工具集

mvvm-architecture

通用与其它

查看项目

更新于 10-15 20:31

技能介绍

用途:指导在客户端应用中落地 MVVM,把界面渲染、状态编排与领域逻辑分层,适用于 SwiftUI、Android、WPF、React/RN 等栈。

主要能力:明确三层职责——View 负责绑定、布局与 UI 事件,不做业务规则、直接 I/O 或 API 解析;ViewModel 负责可观察状态、命令与面向 UI 的转换,不掌握具体控件、颜色或导航细节;Model 封装实体、仓库与服务,不感知 View。定义单向状态流:View 发出意图/命令,ViewModel 校验并调用用例或仓库,更新 loading/success/error 状态,View 仅对状态作出反应。

使用方式:状态以不可变快照或清晰的可观察属性暴露,用 idle | loading | ready(data) | failed(error) 等联合类型建模 UI 状态,避免 View 与 ViewModel 状态重复;导航、提示等副作用通过一次性消费的事件/效果传递。依赖通过构造器或工厂注入 ViewModel,View 经容器、环境包装或项目工厂获取 ViewModel,ViewModel 尽量不引入 UI 框架。测试上对 ViewModel 使用 fake/mock Model 做单元测试,覆盖策略与转换,View 只做轻量冒烟/UI 测试。

适用场景与限制:适合有较丰富领域逻辑、需要可测试状态管理的客户端功能。资料未提供具体安装命令、代码示例、收费或平台支持细节;各栈适配(如 SwiftUI 的 Observable/@Observable、Android 官方 ViewModel + UiState、React 的 useXViewModel)仅为方向性说明。需避免 Massive View、God ViewModel、Model 引入 UI 包、双向回调纠缠等反模式。