c 之原型模式

2021-10-08 08:47:59 字數 845 閱讀 3978

原型模式

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

它屬於建立者模式,其實就是通過乙個物件再建立另外乙個物件的副本,但是不需要知道任何建立物件所需要的細節。

優點:1、當乙個物件經過一段時間後,它內部的狀態已經發生了變化,這時候,程式的其他業務需要當前狀態下 的物件去進行其他的操作。這時候如果直接在new乙個新的物件出來,它的狀態就對應不上了。這時候採用原型模式,就可以獲取乙個狀態一致的物件。

2、有時候建立物件時,建構函式需要的引數卻很多,但是我們又不完全的知道每個引數的具體含義,就可以使用原型模式來建立乙個新的物件,從而不必去理會建立的過程。

3、恰當的使用原型模式,可以減少**量,提高程式的效率。

**:

#include using namespace std;

//原型

class prototype

int getnum()

virtual prototype* clone() = 0;

private:

int m_num;

};//具體原型例項a

class prototypea :public prototype

prototype* clone() };

//具體原型例項b

class prototypeb :public prototype

prototype* clone() };

//客戶端

int main()

if (newproa)

if (newprob)

return 0;

}

c 設計模式之原型模式

原型模式prototype pattern 定義 原型模式一種物件建立型模式,她採用複製物件原型的方法來建立物件的例項。使用原型模式建立的例項,具有與原型一樣的資料。注意 1 由原型物件自身建立目標物件。也就是說,物件建立這一動作發自原型物件本身。2 目標物件是原型物件的乙個轉殖。也就說,通過原型模...

C 設計模式 之 原型模式

別名 轉殖模式 prototype 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。在程式設計中,經常面臨著 某些結構複雜的物件 的建立工作 由於需求的變化,這些物件經常面臨著劇烈的變化,但是它們卻擁有比較穩定一致的介面。問題來了 如何建立易變類的實體物件?解決方案 採用 原型轉殖 ...

C 設計模式之原型模式

原型模式 使用原型例項指定待建立物件的型別,並且通過複製這個原型來建立新的物件。分析 孫悟空 根據自己的形狀複製 轉殖 出多個身外身 軟體開發 通過複製乙個原型物件得到多個與原型物件一模一樣的新物件 工作原理 將乙個原型物件傳給要發動建立的物件 即客戶端對象 這個要發動建立的物件通過請求原型物件複製...