3

我想知道使用 Javafx Gridpane Builder 而不是使用它的目的和/或好处是什么?我似乎找不到任何关于建造者的目的和好处的信息。

4

1 回答 1

1

更新 - 不推荐使用构建器

关于一般的 Builders,JavaFX 项目负责人写道

在 8 中弃用并从 JavaDoc 中删除,在 9 中消失(将作为单独的可下载 Jar 提供,因此您可以继续使用它们,但它们不会更新)。我们正在从样本中删除它们。

最好循环关闭 Builders。


JavaFX 中的Builder 类为功能提供了流畅的接口。这样的 API 通常比命令式的代码更容易阅读。

Fluent API 本质上是声明性的,编写无错误的声明性代码通常比有状态的命令式代码更容易。

可以将 Builder 实例创建为模板,并且可以反复重用同一个实例,正如JavaFX Builders 的优势中所展示的那样。

JavaFX Builders 还定义了可以在 FXML 文档中使用的属性。有关此用法的更多信息,请参阅FXML 简介文档的构建器部分。

与命令式 API 相比,JavaFX 2.2 中构建器可能不足的一些领域是:

  1. 构建器不促进属性绑定。
  2. 构建器 API 可能并不适用于所有功能。
  3. 构建器可以使用难以理解的泛型。
  4. 构建器不允许您对对象设置静态约束。
  5. 对于简单的声明,建设者比他们的同行更罗嗦。

第 4 点的一个示例是 Builder 没有等效的方法,例如GridPane.setVgrow(priority)

至于GridPaneBuilder与使用GridPane类的对比——它与其他构建器与命令式 API 比较具有相同的优点和缺点,但是 GridPaneBuilder 比其他一些构建器更受限制,因为它只公开了 GridPane 接口功能的一个子集——主要是因为GridPane 非常依赖静态方法来指定布局约束,并且在 Builder 中未公开等效功能。

于 2013-02-12T09:25:24.847 回答