为什么abstract中有DbServer,我觉得一般用factory方法比较好,这样写有什么好处??
public abstract class Server
{ private static Object initLock = new Object();
private static Server server = null; public Server()
{
} public abstract danweiInfoManager getDanweiInfoManager(); public abstract danweiModifyInfoManager getDanweiModifyInfoManager(); public static Server getInstance()
{
if(server == null)
synchronized(initLock)
{
if(server == null)
try
{
DBServer dbServer = DBServer.getServerInstance();
dbServer.init();
server = dbServer;
}
catch(Exception e)
{
LogFile.writeLog("Server.getInstance():" + e);
Server server = null;
return server;
}
}
return server;
}}
/////////////////////////////////////////////////////////////////////////////public class DBServer extends Server
{ private static final DBServer instance = new DBServer();
protected danweiInfoManager danweiInfoManager_instance;
protected danweiModifyInfoManager danweiModifyInfoManager_instance; public DBServer()
{
danweiInfoManager_instance = null;
danweiModifyInfoManager_instance = null;
} public static DBServer getServerInstance()
{
return instance;
} public void init()
{
danweiInfoManager_instance = new DBdanweiInfoManager();
danweiModifyInfoManager_instance = new DBdanweiModifyInfoManager();
} public danweiInfoManager getDanweiInfoManager()
{
return danweiInfoManager_instance;
} public danweiModifyInfoManager getDanweiModifyInfoManager()
{
return danweiModifyInfoManager_instance;
}}
public abstract class Server
{ private static Object initLock = new Object();
private static Server server = null; public Server()
{
} public abstract danweiInfoManager getDanweiInfoManager(); public abstract danweiModifyInfoManager getDanweiModifyInfoManager(); public static Server getInstance()
{
if(server == null)
synchronized(initLock)
{
if(server == null)
try
{
DBServer dbServer = DBServer.getServerInstance();
dbServer.init();
server = dbServer;
}
catch(Exception e)
{
LogFile.writeLog("Server.getInstance():" + e);
Server server = null;
return server;
}
}
return server;
}}
/////////////////////////////////////////////////////////////////////////////public class DBServer extends Server
{ private static final DBServer instance = new DBServer();
protected danweiInfoManager danweiInfoManager_instance;
protected danweiModifyInfoManager danweiModifyInfoManager_instance; public DBServer()
{
danweiInfoManager_instance = null;
danweiModifyInfoManager_instance = null;
} public static DBServer getServerInstance()
{
return instance;
} public void init()
{
danweiInfoManager_instance = new DBdanweiInfoManager();
danweiModifyInfoManager_instance = new DBdanweiModifyInfoManager();
} public danweiInfoManager getDanweiInfoManager()
{
return danweiInfoManager_instance;
} public danweiModifyInfoManager getDanweiModifyInfoManager()
{
return danweiModifyInfoManager_instance;
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货