gpt4 book ai didi

java - 扩展类而不覆盖任何内容 : Bad practice?

转载 作者:行者123 更新时间:2023-11-30 03:53:04 24 4
gpt4 key购买 nike

我正在接管一个旧项目。现在我有一些类的风格自己的 util 类覆盖外部库的 util 类。例如:

public final class StringUtilsXXX extends org.apache.commons.lang3.StringUtils {
}

这些类根本不会重写扩展类的任何方法(将来也永远不会)。我觉得很困惑,大多数对自己实现的调用只是委托(delegate)给父类(super class)。这是不好的做法吗?

最佳答案

是的。这是不好的做法。理由是它将您自己的类与第三方库紧密耦合。我确信你的前任这样做的原因是,如果他有一天需要替换 commons-lang,他只需要更改一段代码。他这样做可能是因为从 lang2 升级到 lang3 的挫败感。

他应该这样做的方式是创建一个 StringUtil 接口(interface),并编写它的不同实现(您可以有一个使用 lang2 实现的 StringUtil,一个使用 lang3 的 StringUtil,甚至可能是一个后备实现从头开始实现。(如果您需要一些两者都没有提供的字符串处理,或者您需要使用较旧的 Java 版本编译某些版本,或者其他什么)。

关于java - 扩展类而不覆盖任何内容 : Bad practice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23906665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com