为什么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;
    }}