大話設計模式C 版本 06 原型模式

2021-10-07 19:27:38 字數 1128 閱讀 5013

原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。

原理:利用乙個clone函式來封裝了自身的拷貝建構函式,呼叫clone函式時就會觸發拷貝構造。

利用已有的乙個原型物件,快速地生成和原型物件一樣的例項

設計乙個介面類,這步感覺可有可無;

class

icloneable

;

寫乙個類用來繼承前面的介面類,並實現轉殖方法,如果需要深拷貝的話,需要自己實現拷貝建構函式;

關於拷貝建構函式,或者淺拷貝、深拷貝有不清楚的可以看這《c++入門知識-拷貝建構函式-淺拷貝、深拷貝》

class

resume

:public icloneable // 簡歷類

#endif

icloneable *

clone()

};

#include

#include

using

namespace std;

#define deep_copy 1

class

icloneable

;class

workexperience

;class

resume

:public icloneable // 簡歷類

#endif

resume

(string name)

void

setpersonalinfo

(string age, string ***)

void

setworkexperience

(string workdate, string workcompany)

void

display()

icloneable *

clone()

};intmain()

程杰老師的《大話設計模式》

c++設計模式——原型模式(prototype pattern)

大話設計模式 原型模式

學無止境,精益求精 十年河東,十年河西,莫欺少年窮 學歷代表你的過去,能力代表你的現在,學習代表你的將來 上篇部落格介紹了c 深淺複製,其實原型模式講的主要就是物件的深淺複製 參考 c 深淺複製 memberwiseclone ok,言歸正傳 原型模式的概念 用原型例項指定建立物件的種類,並且通過拷...

《大話設計模式》 原型模式

如果物件的建立成本比較大,而同乙個類的不同物件之間差別不大 大部分欄位都相同 在這種情況下,我們可以利用對已有物件 原型 進行複製 或者叫拷貝 轉殖 的方式,來建立新物件,以達到節省建立時間的目的。這種基於原型來建立物件的方式就叫作原型設計模式,簡稱原型模式。核心 拷貝 轉殖 建立物件包含的申請記憶...

大話設計模式c 實現 原型模式

1 概念 原型模式 prototype 用原型示例指定建立物件的種類,並且通過拷貝這些原型建立新的物件。2 說明 1 原型模式實際上就是從乙個物件再建立另外乙個可定製的物件,而且不需要知道任何建立的細節。2 一般在初始化的資訊不發生變化的情況下,轉殖是最好的辦法。這既隱藏了物件建立的細節,有對效能是...