學如逆水行舟,不進則退。 —【名人名言】工廠模式有普通工廠模式和抽象工廠模式,在這裡我先寫普通工廠模式,我們平時可能用的比較多。
本人是吃貨,就拿吃舉例子吧,我們吃中國菜和吃西餐,都要進行吃這個動作,所以我們把它定義成乙個介面,多次實現即可。
定義吃的這個介面
public
inte***ce eater
定義兩個實現類
1)吃中國菜的實現類
public
class
chinafoodeat
implements
eater
}
2)吃西餐的實現類
public
class
westernfoodeat
implements
eater
}
寫乙個公共方法public
class eatfactory
public
static sender westernfood()
}
定義測試類public
class factorymethod
}
結果是:this is chinafoodeat!
工廠模式的特點就是可以多擴充套件,有需要建立工廠類即可,一般我們寫靜態方法,直接用類呼叫靜態方法,省去建立物件的步驟,比較方便。
單例模式保證在jvm中只有乙個例項存在,它的好處顯而易見:
1)只能建立乙個例項,減輕了gc的**機制的壓力。
2)不用類經常頻繁的建立例項,節省開銷。
單例模式有懶漢式餓漢式,現附上**,再一一解釋:
餓漢式
public
class hungrysingleton
public
static hungrysingleton gethsingleton()
public
static
void
sethsingleton(hungrysingleton hsingleton)
}
上面的**是餓漢式單例模式,何謂餓漢式,即在類載入時就建立物件例項,餓了嘛,不管用不用,先把這個物件給我建立出來,這樣做無需判斷,節省時間。當hungrysingleton類載入時,無參構造方法就建立了物件,將這個物件給予了靜態屬性hsingleton。
懶漢式
public
class lazysingleton
public
static lazysingleton getlasingleton()
return lasingleton;
}}
上面的**是懶漢式單例模式,與上面餓漢式**相比,顯而易見是等到需要時判斷後才建立例項。這種比較適合多執行緒,是執行緒安全的。 設計模式 部分設計模式的對比總結
設計模式應當是程式設計師的內功心法,總結的是前人的經驗。可以幫助我們提公升 的可讀性 可擴充套件性 降低維護成本,解決複雜的業務問題。但也不能為了套用設計模式而去使用設計模式。設計模式是在我們迷茫時提供的一種解決方案,或者說用好設計模式可以防範於未然。說到設計模式,一定要了解軟體設計原則。首先回顧一...
java 常用到的設計模式
1.單例模式 有的書上說叫單態模式其實都一樣 該模式主要目的是使記憶體中保持1個物件。看下面的例子 package org.sp.singleton 方法一 public class singleton 通過乙個靜態方法向外界提供這個類的例項 public static singleton geti...
Android 開發中常用到的設計模式
builder模式 比如alertdialog.builder 例簡單模擬android中alertdialog的builder設計模式 介面卡模式 比如gridview listview與adapter 例android設計模式系列 9 sdk原始碼之介面卡模式 命令模式 比如handler.po...