不使用JavaFX时是否clean/correct使用FXCollections

Is it clean/correct to use FXCollections when not using JavaFX

我在回答 ,解决方案是使用像 ObservableList 这样的可观察集合。后来我意识到我不知道解决方案是否被视为 "clean",因为使用 FXCollections 中的 ObservaleList 就像使用部分 JavaFX 但同时不使用它。

是否可以使用 FXCollections and mixing them with let's say AWT or in the Spring framework 或任何其他与 JavaFX 无关的框架?

我在 Java/Kotlin 中没有找到任何本机可观察集合 API。是否有 library/framework 包含可观察的集合并将它们与 JavaFX 分开?我已经尝试查找它们,但我只找到了 RxJava,据我所知,它与我想要的行为无关。

总结一下我的问题: 在与 JavaFX 没有共同之处的项目中使用 FXCollections 是否被认为是干净的。如果没有,是否有一个框架可以产生与可观察集合相同的行为?

总体来说是有点的味道。引入对特定(大)framework/component 的依赖,然后只使用一小部分技术,应该这样做 "fully conscious"。

您始终需要在重用 现有代码与自己编写 之间取得平衡。你不应该像超市一样看待这个世界,在那里你四处走动,把任何第一眼 看起来 有用或有趣的东西扔进你的购物车。像 maven 这样的构建工具使这变得非常容易(只需在 POM 文件中添加另一个条目,对吧),但是 定义 依赖项是 the smaller 的一部分这个决定!它可能会在以后产生不愉快的后果。

话虽如此,当您具体询问 JavaFx 时,我的回答是:避免这样做。

JavaFX 的问题是:有很多环境在使用 JavaFX 时会给您带来麻烦。我不止一次看到 A 组创建了基于 JavaFX 的工具,然后发现 B 组不能使用该工具,因为他们必须在 IBM System Z 上使用它。抱歉,IBM System Z 和 JavaFX,不是一个不错的故事。

长话短说:向项目添加新的依赖项需要一个明确的决定,并且您必须确保它不会给使用您的交付的人带来问题。添加依赖项在 5 分钟内完成,但是您在项目的整个生命周期中都让自己 dependent!考虑到 JavaFX 的悲惨故事,谁知道 1、3、5 年后它会发生什么。