感覺這個模式比較之無聊,至少是自己尚未碰到過它的應用,可能對物件的拷貝進行了進一步的封裝,拷貝方式可做成深拷貝和淺拷貝
class prototype
operation: virtual clone();
class concreteprototype : public prototype
operattion:
深拷貝:
prototype* clone()
淺拷貝:
concreteprototype(const concreteprototype& cp)
prototype* clone() const
建立型模式包括 factory ,abstarct factory, builder, prototype
factory
將具體實現操作延遲到子類中
abstarct factory
重在產生多個相互依賴類的物件
builder
重在進行一步步建立複雜物件,而不直接返回
prototype
重在從自身產生新類
設計模式 Prototype
一.概述 定義 用原型例項指定建立物件的種類,並且通過 拷貝 這些原型建立新的物件。換句話說,就是不用重新初始化物件,而是動態地獲得物件執行時的狀態。再說明白點,就是要乙個拷貝過建構函式類似功能的介面。結構圖如下 如下 cpp 原型類,有乙個clone介面 class prototype virtu...
設計模式 Prototype
原型也是一種建立型模式,考慮下面的場景 乙個類有1,2,3,4,5,6,7,8種狀態,在執行過程中經過了以下1 2 3 4的狀態轉換,且進入到狀態4時必須要經過1,2,3的狀態轉換。在進入狀態4後,可以向5,6,7,8狀態轉換。此時要對此物件做白盒測試,1 4是乙個固定的流程,很顯然,從乙個狀態已經...
設計模式 Prototype
include using namespace std 虛擬基類,所有原型的基類,提供clone介面函式 class prototype virtual prototype virtual prototype clone 0 派生自prototype,實現clone方法 class concrete...