我想知道使用 Javafx Gridpane Builder 而不是使用它的目的和/或好处是什么?我似乎找不到任何关于建造者的目的和好处的信息。
1 回答
更新 - 不推荐使用构建器
关于一般的 Builders,JavaFX 项目负责人写道:
在 8 中弃用并从 JavaDoc 中删除,在 9 中消失(将作为单独的可下载 Jar 提供,因此您可以继续使用它们,但它们不会更新)。我们正在从样本中删除它们。
最好循环关闭 Builders。
JavaFX 中的Builder 类为功能提供了流畅的接口。这样的 API 通常比命令式的代码更容易阅读。
Fluent API 本质上是声明性的,编写无错误的声明性代码通常比有状态的命令式代码更容易。
可以将 Builder 实例创建为模板,并且可以反复重用同一个实例,正如JavaFX Builders 的优势中所展示的那样。
JavaFX Builders 还定义了可以在 FXML 文档中使用的属性。有关此用法的更多信息,请参阅FXML 简介文档的构建器部分。
与命令式 API 相比,JavaFX 2.2 中构建器可能不足的一些领域是:
- 构建器不促进属性绑定。
- 构建器 API 可能并不适用于所有功能。
- 构建器可以使用难以理解的泛型。
- 构建器不允许您对对象设置静态约束。
- 对于简单的声明,建设者比他们的同行更罗嗦。
第 4 点的一个示例是 Builder 没有等效的方法,例如GridPane.setVgrow(priority)。
至于GridPaneBuilder与使用GridPane类的对比——它与其他构建器与命令式 API 比较具有相同的优点和缺点,但是 GridPaneBuilder 比其他一些构建器更受限制,因为它只公开了 GridPane 接口功能的一个子集——主要是因为GridPane 非常依赖静态方法来指定布局约束,并且在 Builder 中未公开等效功能。