將例項的建立和使用分離,在建立什麼、由誰建立、什麼時候建立提供靈活性
單例模式乙個類只有乙個例項
1. 構造方法私有化構造方法私有化
2. 提供乙個獲取例項的靜態方法
3. 懶漢式:考慮多執行緒訪問的安全性,使用volatitle、synchronized關鍵字
4. 餓漢式:執行緒安全,類載入就建立了單例
private static final hungrysingleton instance = new hungrysingleton();
原型模式用乙個已經建立的例項作為原型,通過複製clone該原型物件來建立乙個和原型相同或相似的物件。這種方式建立物件非常高效,無需知道物件建立的細節。
1、實現cloneable介面
2、呼叫類的clone()方法:注意深轉殖和淺轉殖
工廠模式1、簡單工廠:建立的產品不多,只要乙個工廠就可以完成,當增加新產品時,會違背「開閉原則」;
public class shapefactory else if(shapetype.equalsignorecase("rectangle")) else if(shapetype.equalsignorecase("square"))
return null;}}
2、工廠方法:每個工廠生產一種產品
3、抽象工廠:每個工廠每個方法生產一種產品
複雜物件由多個子部件按一定的步驟組成。
1、產品product
2、抽象建造者builder
3、具體建造者
4、指揮者
建立型模式 原型模式
使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...
建立型模式 原型模式
原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...
原型模式 建立型模式
文章首發個人部落格 如果我們有乙個類 sheep 它裡面有兩個屬性,名稱 name 年齡 age 現在我們有乙個它的例項 s1 我們需要按照這個例項的屬性再去建立兩個物件。1 sheep data public class sheep 2 main public class main 原型模式 用原...