Util 的最佳写法 Class
Best way to write Util Class
我是 Java 的新手
我想为自己的目的编写 util classes,例如 FileUtil、DBUtil、...
但是有些人把utilclasses中的所有方法都写成静态方法
class FileUtil{
public static File openFile(String path){
...
}
public static File readFile(String path){
...
}
...
}
有些人将 util class 写成单例 classes,将方法写成 public
class FileUtil{
private FileUtil(){}
public FileUtil getInstance(){
...
}
public File openFile(String path){
...
}
public File readFile(String path){
...
}
...
}
我想知道在内存分配方面哪种方法更好
提前致谢
实用程序:
实用程序class是不需要任何实例的class。他们提供 方法 来帮助您做事。
单身人士:
单例是需要一个且只有一个个实例的实例。拥有单身人士的原因是多种多样的,也许你需要一个不应该被干扰的单一协调员......
FileUtil:
好吧,这个名字已经指出了这一点,这个 class 提供了 方法 来简化文件访问...
文件管理器:
这个对象负责跟踪文件系统的完整性。不允许其他人访问 create/delete 个文件,但只能访问 FileManger,因此 FileManager 将是一个 单例 。 (您的问题不要求文件管理器,但要对 FileUtils 有所帮助,我认为它会有所帮助)
内存使用/清理代码
为什么这个答案:你认为你可能会优化内存,但干净的代码指出 you should not optimize
总结:
如果您真的不需要,请不要使用 Singleton。使用一个普通的实用程序 class(顺便说一下,这是你想做的事情)。
永远不要写单例。如果你真的想要静态字段(不要),那么写 static
。对于(单一实现)实用方法,在客户端强制使用额外的对象是没有意义的。
看看 Runtime
和 System
造成的混乱,尽管本质上是一样的。
传统上实用程序 classes 被写成带有静态方法的 classes。可以添加抛出异常的私有构造函数以防止添加默认构造函数,但会增加代码的额外混乱(尽管减少了文档)。添加不必要的 final
也很常见。
单元素枚举在单例中很流行(不要写单例)。使用相同的参数实用程序 classes 应该是无元素枚举,尽管没有明显的原因它并不流行。单个和无元素枚举都向 class.
添加无意义的方法
如果您真的想要简洁的代码,请使用接口。您不必每次都写 public
,常量可以省略 public static
。这显然不是很流行,因为客户有可能通过实现接口来破坏他们自己的代码。参见摇摆。
我是 Java 的新手 我想为自己的目的编写 util classes,例如 FileUtil、DBUtil、...
但是有些人把utilclasses中的所有方法都写成静态方法
class FileUtil{
public static File openFile(String path){
...
}
public static File readFile(String path){
...
}
...
}
有些人将 util class 写成单例 classes,将方法写成 public
class FileUtil{
private FileUtil(){}
public FileUtil getInstance(){
...
}
public File openFile(String path){
...
}
public File readFile(String path){
...
}
...
}
我想知道在内存分配方面哪种方法更好 提前致谢
实用程序:
实用程序class是不需要任何实例的class。他们提供 方法 来帮助您做事。
单身人士:
单例是需要一个且只有一个个实例的实例。拥有单身人士的原因是多种多样的,也许你需要一个不应该被干扰的单一协调员......
FileUtil:
好吧,这个名字已经指出了这一点,这个 class 提供了 方法 来简化文件访问...
文件管理器:
这个对象负责跟踪文件系统的完整性。不允许其他人访问 create/delete 个文件,但只能访问 FileManger,因此 FileManager 将是一个 单例 。 (您的问题不要求文件管理器,但要对 FileUtils 有所帮助,我认为它会有所帮助)
内存使用/清理代码
为什么这个答案:你认为你可能会优化内存,但干净的代码指出 you should not optimize
总结:
如果您真的不需要,请不要使用 Singleton。使用一个普通的实用程序 class(顺便说一下,这是你想做的事情)。
永远不要写单例。如果你真的想要静态字段(不要),那么写 static
。对于(单一实现)实用方法,在客户端强制使用额外的对象是没有意义的。
看看 Runtime
和 System
造成的混乱,尽管本质上是一样的。
传统上实用程序 classes 被写成带有静态方法的 classes。可以添加抛出异常的私有构造函数以防止添加默认构造函数,但会增加代码的额外混乱(尽管减少了文档)。添加不必要的 final
也很常见。
单元素枚举在单例中很流行(不要写单例)。使用相同的参数实用程序 classes 应该是无元素枚举,尽管没有明显的原因它并不流行。单个和无元素枚举都向 class.
添加无意义的方法如果您真的想要简洁的代码,请使用接口。您不必每次都写 public
,常量可以省略 public static
。这显然不是很流行,因为客户有可能通过实现接口来破坏他们自己的代码。参见摇摆。