私信  •  关注

Matthieu M.

Matthieu M. 最近创建的主题
Matthieu M. 最近回复了
8 年前
回复了 Matthieu M. 创建的主题 » 如何在RIST中重新实现jQuery样式链接?[副本]

实际上 权衡:

  • 指定的setter是否接受 self 按价值或参考?
  • 应该是决赛 build 方法接受 自己 按价值或参考?

我的建议是:

  • setters的可变引用
  • 价值 建造 方法

这与 Builder Pattern 出现在铁锈书中,该书引用了 建造 是的。


为什么要为setter传递可变引用?

当编译器 可以 优化取消调用 fn label(self, &str) -> ButtonBuilder ,不保证。

另一方面,可变引用方式已经是最优的,因此您不需要依赖优化器。


为什么通过价值为最终 建造 是吗?

建筑商只有 Copy 字段之间没有区别 建造 自己 &self 是的。

但是,只要构建器包含- 复制 场,传球 &自己 建造 需要深入克隆这些字段。

另一方面,传球 自己 按值允许 建造 移动字段,以避免不必要的复制。

如果希望重用构建器,那么构建器应该实现 Clone 是的。