Helper和Utility类有什么区别?
如何确定如何调用一个类XHelper或XUtils?
在我心里 :
助手类 ,是一个可以实例化并做一些业务工作的类
Utils类是一种静态类,它对一类实例执行小的重复操作(例如,来自Apache的utils类ArrayUtils或IOUtils)
有很多命名风格可供使用。 我build议Utils只是因为它更常见。
Utility类被理解为仅具有静态方法并且是无状态的。 你不会创build这样一个类的实例。
助手可以是实用程序类,也可以是有状态的或需要创build实例。 如果可能,我会避免这种情况。
如果你能使名字更具体。 例如,如果它有sorting方法,使它XSorter
对于数组,你可以find类似的帮助类
Array Arrays ArrayUtil ArrayUtils ArrayHelper
顺便说一句,实用程序类是一个没有实例的枚举
enum XUtils {; static methods here }
如果你需要实现一个接口,我会使用一个无状态的Singleton。
enum XHelper implements RequiredInterface { INSTANCE; // no instance fields. }
一般来说? 这完全是任意的。 这没有规则。
这没有最终的答案。 找出一个命名scheme并坚持下去。 命名你的软件包和类是软件架构的重要组成部分,没有人可以从你的决定。
我个人更喜欢XHelper,但是我更多地在外部代码中看到XUtils。
我也喜欢JDK和Guava中的“复数”命名scheme:
如果一个类处理的是Collection
对象,则称为Collections
数组>数组(jdk)
列表>番石榴(Guava)
地图>地图(番石榴)
等等