跳到主要内容

设计模式知识体系概览

答案

Rust 的设计模式与传统 OOP 语言有显著不同——组合优于继承,许多 OOP 模式在 Rust 中有更惯用的实现方式。

Rust vs OOP 设计模式

OOP 概念Rust 替代方案
继承trait + 组合
抽象类trait(带默认实现)
接口trait
工厂方法new() 关联函数
单例LazyLock / OnceLock
装饰器函数组合、闭包
策略trait 或闭包
观察者Channel 或回调
状态机枚举 + match

Rust 特有模式

模式说明示例
Newtype包装类型提供安全性struct UserId(u64)
Typestate编译时状态检查Builder 模式
RAII Guard资源自动释放MutexGuard
Interior Mutability运行时借用检查RefCell, Cell

相关链接