Appropriate methods to put into a util class?
我正在研究一个Java类,用于解析HTML和生成RDF(我想我最终会分成两个类——一个用于解析,一个用于生成RDF)。
目前,我正在创建许多方法来检查HTML数据并将其转换为更统一的表示形式。到目前为止,我创建的一些方法是:
1 2 3 4 |
我应该把这些方法放到一个Util类中吗?目前,它们只被这个特定的类使用,但我认为在以后的某个时间点,它们可能需要被不止一个类使用。
好吧,是的,您列出的方法看起来像是UTIL类中
当然,如果您只在一个地方使用它们,它们也可以保持在那里的"私人帮助者",但是一旦您有多个地方使用它们,一个实用工具类就有意义了。
(编辑:过度使用静态方法可能有问题,但我认为这些方法很可能是静态实用程序,因为它们是纯函数。)
在实用程序类中收集这样的方法是一个很好的实践。即使现在从单个类调用这些方法,这些方法也可能会被附近特性中的其他客户机重用。
但是,必须注意使这个实用程序类易于重用。为此,方法签名(实际上是它们的参数)必须尽可能通用。它们不应该接受特定于类的输入。
我的另一个建议是将这个实用程序类划分为多个类,如果它开始包含许多不连贯的方法的话。您可以通过将相关方法分组到单独的类中来实现这一点。例如,您编写的方法可以移动到
最后,如果您认为这些实用程序类对您的其他项目有益,那么您可以将它们收集到一个不同的库中。
它们似乎足够通用,适合放在一个Util类中。至少我会的。基本上,任何在代码中解析字符串的类都需要使用这些方法。不过,为了避免不必要的构造,在将它们添加到类中之前,我会使它们保持静态。
分解是一个很好的习惯。如果您不确定是否需要使用它们,请继续操作。它将为您提供使用实用程序类的练习。
如果您最终想要将它们分成两个类,那么您可能需要将基类定义为接口或抽象类。
根据您的需求,抽象类应该是正确的选择。将子类与抽象类之间的共同点放在一起。(可以在抽象类中实现方法)
从另一个答案,我想问一个问题?答案建议在方法前面加上静电,以避免不必要的施工,这很有意义。
我知道抽象类不需要实例化来调用它的方法。也可以避免施工。
有问题吗?哪条路更合法?还是更好?或者完全一样。