建立型模式

2021-09-11 06:02:31 字數 856 閱讀 3864

將例項的建立和使用分離,在建立什麼、由誰建立、什麼時候建立提供靈活性
單例模式
乙個類只有乙個例項

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 原型模式 用原...