实际上
二
权衡:
-
指定的setter是否接受
self
按价值或参考?
-
应该是决赛
build
方法接受
自己
按价值或参考?
我的建议是:
这与
Builder Pattern
出现在铁锈书中,该书引用了
建造
是的。
为什么要为setter传递可变引用?
当编译器
可以
优化取消调用
fn label(self, &str) -> ButtonBuilder
,不保证。
另一方面,可变引用方式已经是最优的,因此您不需要依赖优化器。
为什么通过价值为最终
建造
是吗?
建筑商只有
Copy
字段之间没有区别
建造
拿
自己
或
&self
是的。
但是,只要构建器包含-
复制
场,传球
&自己
到
建造
需要深入克隆这些字段。
另一方面,传球
自己
按值允许
建造
移动字段,以避免不必要的复制。
如果希望重用构建器,那么构建器应该实现
Clone
是的。