關于這個問題,下面是一些同仁的觀點:
觀點一:(單例)
單例模式比靜態方法有很多優勢:
首先,單例可以繼承類,實現接口,而靜態類不能(可以集成類,但不能集成實例成員);
其次,單例可以被延遲初始化,靜態類一般在第一次加載是初始化;
再次,單例類可以被集成,他的方法可以被覆寫;
最后,或許最重要的是,單例類可以被用于多態而無需強迫用戶只假定唯一的實例。舉個例子,你可能在開始時只寫一個配置,但是以后你可能需要支持超過一個配置集,或者可能需要允許用戶從外部從外部文件中加載一個配置對象,或者編寫自己的。你的代碼不需要關注全局的狀態,因此你的代碼會更加靈活。
觀點二:(靜態方法)
觀點三:(Good!)
由于DAO的初始化,會比較占系統資源的,如果用靜態方法來取,會不斷地初始化和釋放,所以我個人認為如果不存在比較復雜的事務管理,用singleton會比較好。個人意見,歡迎各位高手指正。
拋磚引玉,請不吝賜教!
--------------------
WE準高手