Rust 设计模式:流畅接口、观察者与命令模式
1. 流畅接口模式
流畅接口模式建立在构建器模式之上,其主要特点是方法链的使用。方法链是将函数调用链接在一起,直到操作终止(通常通过一个结束操作的方法调用)。在 Rust 中, Iterator 特质就是流畅接口模式的一个很好的例子。
fn map<B, F>(self, f: F) -> Map<Self, F>
where
F: FnMut(Self::Item) -> B { ... }
这里的返回类型 Map 是另一个迭代器,理论上可以无限地链式调用函数。
1.1 流畅构建器
为了演示,我们更新之前的构建器示例,让赋值方法返回一个构建器。
macro_rules! with_str {
($name:ident, $func:ident) => {
pub fn $func(self, $name: &str) -> Self {
Self {
bicycle: Bicycle {
$name: $name.into(),
..self.bicycle
},
}
}
};
超级会员免费看
订阅专栏 解锁全文
1043

被折叠的 条评论
为什么被折叠?



