【发布时间】:2013-02-12 05:18:56
【问题描述】:
我想知道使用 Javafx Gridpane Builder 相比不使用它的目的和/或好处是什么?我似乎找不到任何关于建造者的目的和好处的信息。
【问题讨论】:
标签: javafx
我想知道使用 Javafx Gridpane Builder 相比不使用它的目的和/或好处是什么?我似乎找不到任何关于建造者的目的和好处的信息。
【问题讨论】:
标签: javafx
更新 - 构建器已弃用
关于一般的构建器,JavaFX 项目负责人writes:
在 8 中弃用并从 JavaDoc 中删除,在 9 中消失(将作为可单独下载的 Jar 提供,因此您可以继续使用它们,但不会更新)。我们正在从样本中删除它们。
最好关闭 Builders。
JavaFX 中的Builder classes 提供fluent interface 功能。这样的 API 通常比命令式的代码更容易阅读。
Fluent API 本质上是declarative,编写无错误的声明性代码通常比有状态的imperative code 更容易。
可以将 Builder 实例创建为模板,并且可以反复重复使用相同的实例,正如 Advantages of JavaFX Builders 中所展示的那样。
JavaFX Builders 还定义了可以在 FXML 文档中使用的属性。有关此用法的更多信息,请参阅Introduction to FXML 文档的构建器部分。
与命令式 API 相比,JavaFX 2.2 中构建器可能不足的一些领域是:
第 4 点的一个例子是 Builder 没有类似 GridPane.setVgrow(priority) 这样的方法。
至于 GridPaneBuilder 与使用 GridPane 类相比 - 它与其他构建器与命令式 API 比较具有相同的优点和缺点,但是 GridPaneBuilder 比其他一些构建器更受限制,因为它只公开了GridPane 接口的功能 - 主要是因为 GridPane 非常依赖静态方法来指定布局约束,并且等效功能未在 Builder 中公开。
【讨论】: