所有 fx 构建器均已弃用..除了 .adapter 中的一堆



从来不喜欢构建器(也很少使用它们),所以对在 jdk8 中弃用它们的决定并不过分不高兴 - 但有一个包没有被弃用,实际上是实例化其产品的唯一方法:javaBean 属性的适配器 - 错误还是功能?。

问题:

  • 它们也会在最终版本中被弃用吗?
  • 如果没有,是否有任何理由可以安全使用它们,即不要破坏二进制兼容性?

适配器生成器独立于"场景图形对象"生成器。它们不对 NodeBuilder(与场景相关的对象的所有其他构建器的父级)进行子类化。整个问题的出现是因为 OpenJFX 团队决定使用泛型(为了节省字节码大小和工作)为 Node 的所有子类实现构建器,而不是扁平方法(代码繁琐、难以维护且字节码大小巨大)。

适配器的构建器是"扁平"构建器,这意味着构建器没有父级。这是自然和简单的,因为你只有大约每个"原始"属性类型的构建器,以及一个对象属性的构建器,每个反射读取getter和setter。

这意味着适配器构建器没有问题,它们不会破坏二进制兼容性。至于为什么它们仅通过构建器公开以及它们是否会被弃用,我无法理解。

最新更新