設計模式五 原型模式

2021-08-20 21:07:37 字數 574 閱讀 6932

建立型模式最後一種 原型模式 (一般用於框架)或者稱為轉殖模式

使用場景:當物件建立比較繁瑣 耗時 或者有訪問許可權的時候 可以使用原型模式 (以某個物件為原型 複製出新的物件 不同於new)

實現:實現cloneable 介面和重寫clone方法(記憶體賦值)

public class sheep implements cloneable 

public void setname(string name)

public date getbirth()

public void setbirth(date birth)

/*** 使用birth物件clone 是為了實現被轉殖物件與原有物件完全分離 否則 像birth 會指向同乙個位址

* @return

* @throws clonenotsupportedexception

*/@override

protected object clone() throws clonenotsupportedexception

}

設計模式(五) 原型模式

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。通俗來說,原型模式就是從乙個物件,通過複製的手段去建立另外乙個物件,而且不需要知道任何建立的細節。思考 這麼做有什麼好處?角色說明 抽象原型類。宣告乙個轉殖自身的介面 抽象方法 具體原型類。實現乙個轉殖自身的方法 讓乙個原型轉殖自身從而...

設計模式學習 五 原型模式

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。prototype原型模式是一種建立型設計模式,prototype模式允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節,工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷...

PHP設計模式系列(五) 原型模式

原型物件,用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原型模式就是clone就是記憶體拷貝,比new的好處是建立物件快速,適合大物件建立。原型模式與工廠模式作用類似,都是用來建立物件 與工廠模式的實現不同,原型模式是先建立好乙個原型物件,然後通過clone原型物件來建立新的物件,...