靜態工廠方法模式
提供一個類:工廠類(用它製造一些需要的對象)
特點:
構造方法私有化,外界不能直接創建它的對象
提供靜態功能,每一種靜態都會產生所需要的對象…
缺點:不利於後期維護
如果添加新的對象,需要創建它的類還需要在靜態工廠類提供一些功能!
工廠方法模式:
特點:
需要提供一個抽象類,以及每個動物的具體類和接口(工廠接口)
該接口中的抽象方法的返回值是該抽象類
針對每個具體動物都提供一些對應的工廠類—>實現該接口—>返回值就是需要具體的動物對象
弊端:代碼量大了.
單例模式(餓漢式和懶漢式)
餓漢式:
特點:當前某一個一加載,就會創建一個對象
需要將該類的無參構造私有化
在成員變量創建該類的實例
需要提供公共的訪問方法
懶漢式(面試)
特點:並不是加載某個類就直接創建對象,而是需要的時候在創建對象
1)懶加載(延遲加載)
2)線程的安全問題
檢驗標準:
a:是否是多線程環境
b:是否有共享數據1
c:是否有多條語句對共享數據進行操作!
使用同步代碼塊進行解決