这似乎是在快速进行序列化时要取得的权衡
对我来说写这样的东西更简单,更简洁
enum Singleton { INSTANCE;}如果您需要编写更多代码或引入复杂性,则可以这样做,但是IMHO很少需要这样做。
您将失去经典单例的更友好的OOP方法。
我发现使用字段更简单。
枚举不能被继承,
没错,但是有多个单例本身就值得怀疑。枚举可以从接口继承,这使您可以将一种实现交换为另一种实现。
如果要提供骨架类,则需要创建一个辅助类
助手类没有任何状态。骨架类可能具有某种状态,在这种情况下,您需要委派。
顺便说一句:您可以使用
enum帮助程序类
enum Helper {; public static my_static_methods_here;}为什么我们应该接受枚举作为单例的最佳实现
我会遵循YAGNI原则。仅开发所需的内容,而不开发您可能需要的内容。



