您认为使用番石榴的最佳方式是哪种?因为,在网站上,这些人说接口可能会发生变化,直到发布1.0.考虑到这一点,您编写的代码不应直接依赖于这些接口,因此,您是否将所调用的所有Guava代码包装到我们的项目中的某种层或外观中,以便,如果这些接口发生更改,那么您至少将这些变化集中在一个地方?
哪种方式最好?我真的很有兴趣开始使用它,但我有这个问题击中我的想法哈哈:)
Col*_*inD 19
我不知道在1.0版之前,接口可能会发生变化.对于Guava的前身Google Collections来说,情况确实如此,但它已经发布了1.0版本,现在已经成为Guava的一部分.此外,任何属于Google Collections的内容都不会以可能破坏代码的方式进行更改.
Guava本身甚至不使用具有"1.0"概念的发布系统.它只是发布,标记为"r05","r06"等.除非用@Beta注释标记,否则Guava中的所有API都会被有效冻结.如果@Beta在类或接口上,则该类中的任何内容都可能发生变化.如果一个类没有用它注释,但是类中的某些方法是,那些特定的方法可能会发生变化.
请注意,即使使用@BetaAPI,它们提供的功能也很可能无法完全删除...最多它们可能只会改变提供该功能的方式.此外,我相信他们在@Beta完全删除之前,会弃用他们更改的1个版本的原始形式,让您有时间看到它已更改并更新到该API的新形式.@Beta也不意味着某个类别或方法没有经过充分测试或适合生产使用.
最后,如果您正在使用使用Guava 的应用程序,这应该不是一个大问题.无论何时更新到新版本都应该很容易,只要在这里和那里进行更改(如果@Beta您使用的API已更改).是人们编写使用Guava的库,他们确实需要避免使用@BetaAPI,因为使用它可能会导致您无法在应用程序中切换到较新版本的Guava或使用另一个使用较新版本的库,因为它会破坏旧库中依赖于已更改/删除的beta API的代码.
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |