我有一个 Singleton 类来保存应用程序模块的状态。这个类只是有很多带有 setter 和 getter 的类变量:
public class ModuleState{
private static ModuleState instance;
private A a;
private B b;
private C c;
..
..
..
..
private ModuleState (){}
public ModuleState getInstance(){
if(instance==null)
instance=new ModuleState();
return instance;
}
}
在应用程序生命周期的精确时刻,我需要清除模块的状态。我现在要做的是通过这样的 clearAll() 方法重置 ModuleState 中的所有变量:
public void clearAll(){
a=null;
b=null;
c=null;
..
..
}
我的问题如下:有更清洁的方法来进行此重置吗?可能清除单例实例本身,而不重置每个类变量?
这种方法的问题是我可能需要向 ModuleState 添加一个新的类变量。在这种情况下,我必须记住在 clearAll() 方法中添加一行来重置新变量。