将类添加到第三方依赖项/包是不好的做法?(Java)的

ast*_*888 0 java oop android-gradle-plugin

我有一个来自第三方依赖项的交互客户端,我需要使用的服务.一些行为不适合我的用例,我想尝试扩展或只是为它重写一个适配器,但我需要的许多方法或变量都受到保护.我应该只写一个属于该包的类来访问它们吗?我还没有听说过它明确规定给,但它似乎战胜摆在首位该封装的目的.

duf*_*ymo 6

我会说这是一个非常糟糕的主意.你永远不应该以任何方式修改第三方JAR.你最好考虑密封它们.

原因有两方面:

  1. 您可以破坏依赖项代码.
  2. 修改第三方JAR的那一刻,您必须以相同的方式修改每个更新.

您可以自由扩展第三方课程,只要它没有标记为final.但如果你这样做,它将成为代码的一部分.您可以随时提供该第三方JAR的新版本.