好的,stackoverflow。我必须使用singleton进行数据库和互联网处理。使用一个单例(在我的单例类中有一个混乱)或两个不同的单例(并复制一些单例代码)是一个好习惯。
提前致谢。
答案 0 :(得分:2)
从来没有一个好的方法来使用同一个类,有两个不同的目的。 每个班级都应该有独特的责任(Single Responsibility Principle)
如果需要在类之间复制一些代码,可以考虑为两个类重构和创建超类(如果类可以是兄弟),或者使用某种辅助类来执行常见操作。
答案 1 :(得分:0)
是的,你可以创建枚举说
public ProcessManager{
DB_PROCESS {
public void process(){
... specific code for db
commonCode();
..specific code for DB
}
},
NETWORK_PROCESS{
public void process(){
... specific code for network
commonCode();
...specific code for network
}
};
public void process(){
}
public void commonCode(){
... common code
}
}
如何打电话?
ProcessManager.DB_PROCESS .process(); ProcessManager.NETWORK_PROCESS.process();
记住枚举是实现单例类的最佳方法(有效的java-2nd版)