用途:该技能面向 Rust UI 应用(特别是 GPUI)的架构设计,提供可扩展、可维护的项目结构、设计模式与最佳实践指导。
主要能力:推荐项目布局,将代码划分为 ui、models、services、domain、utils 等目录;提出四层架构:UI 层(GPUI 视图与组件、交互与渲染)、应用层(Model<T> 状态、状态协调与业务编排)、服务层(文件 I/O、网络请求、外部 API)、领域层(纯业务逻辑与领域类型,不依赖 UI/GPUI)。给出容器-展示者(Container-Presenter)模式,容器管理状态与逻辑、展示者负责纯渲染;按功能组织模块(features/editor 等);采用单向数据流与 actions! 宏定义动作、Model 更新后通知重渲染;状态归属上支持单一事实来源与层级化所有权。
可测试性与扩展:通过 trait 定义外部依赖(如 FileService: Send + Sync)并配合依赖注入,便于使用 Mock 实现测试;提供 EditorPlugin trait 与 PluginManager 实现插件式扩展,并列举 Repository、Command、Observer、Factory、Strategy、Facade 等常见模式。
适用场景:需要为 Rust 桌面或 UI 应用规划模块边界、组织大规模代码、实现状态管理与可测试设计时参考。
限制:资料未提供具体安装命令、版本要求、运行环境或收费信息;示例中的保存逻辑为同步签名并在异步上下文中调用,实际需自行适配 GPUI 版本。