SuperAPI AI 工具集

architecture-patterns

设计与创作

查看项目

更新于 10-15 20:31

技能介绍

用途:帮助 iOS 开发者为新功能选择并落地合适的架构模式,重点是决策标准而非教学。

模式选择:简单、单屏且仅本地状态用 MV(SwiftUI View + @State);中等复杂度、2 至 5 个屏幕、含业务逻辑或网络请求用 MVVM;状态机、副作用、复杂流程用 TCA;多团队、最高模块化用 Clean Architecture。文档另附决策树用于逐条判断。

MVVM(最常用)结构:ViewModels 使用 @Observable 与基于协议的依赖注入;Views 通过 @State private var viewModel 持有;Services 以协议保证可测试性。关键规则包括通过 init 进行协议式依赖注入以便 mock、状态更新使用 @MainActor、保持 View 轻量;ViewModel 中不得导入 SwiftUI、不使用 @Published 而用 @Observable、ViewModel 不可为可选。资料提供了登录场景的最小示例,包含 AuthServiceProtocol、LoginViewModel 与 LoginView,代码保持原样。

TCA 适用于复杂状态机、副作用与时间旅行调试,核心是单一 Reducer 承载 State、Action、Dependencies,并通过 TestStore 做穷尽测试,参考 TCA 文档。

Clean Architecture 适用于企业级应用、多团队与最高可测试性。模式包括 VIP(View-Interactor-Presenter,建议使用 vip-clean-architecture 技能实现单向数据流、协议边界与 Spy 模式测试)以及通用 Clean 分层:Domain(实体、用例)→ Data(仓储、网络)→ Presentation(ViewModel、View),关键是依赖倒置与层间协议边界。

更多实现示例与迁移指南见 references/mvvm-patterns.md、references/tca-guide.md、references/clean-architecture.md。文档篇幅约 300 词,原为 2863 词。限制:适用对象为已掌握编码的中高级 iOS 工程师;未提供具体安装命令、收费、价格或平台信息。