C 設計模式之Prototype

2021-05-21 15:39:48 字數 779 閱讀 8940

一、功能

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

二、結構圖

三、優缺點

優點:複製自身。客戶不知道需要物件的實際型別,只需知道它的抽象基類即可。(即有繼承樹的情況)

缺點:必須先有乙個物件例項(即原型)才能clone。

四、示例**

namespace designpattern_prototype

; // class concreteprototype1

class concreteprototype1 : public prototype

} ;

// class concreteprototype2

class concreteprototype2 : public prototype

} ;}

客戶端**:

五、例項

在乙個圖形編輯器中,每乙個圖形元素,如線、圓、文字等都應該支援拷貝操作,即點中圖形,按下ctrl+c,再按下ctrl+v後就會複製乙個新的圖形。顯然這是一種clone操作。所以在每個從graphic派生出的圖形子類都應運用prototype模式,加上clone操作。

C 設計模式之Prototype

c 設計模式之prototype 2002 08 01 com集中營 一 功能 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。二 結構圖 三 優缺點 優點 複製自身。客戶不知道需要物件的實際型別,只需知道它的抽象基類即可。即有繼承樹的情況 缺點 必須先有乙個物件例項 即原型 才能c...

C 設計模式之原型 ProtoType

c 設計模式之原型 prototype 1 為什麼要用原型?用原型的好處 比如我們有乙個工具欄按鈕,新建按鈕,它是 button的例項,它有長度 寬度屬性等,而且屬性都賦了值。現在我們要再新增乙個儲存按鈕,它也是 button的例項,它也有長度 寬度屬性等,不過它還沒賦值,它的值和新建按鈕的值一樣。...

設計模式之Prototype

原型模式的定義 用原型例項指定建立物件的種類,並且通過轉殖這些原型來建立新的物件.prototype模式允許乙個物件再建立乙個可定製的物件,無需知道任何如何建立的細節.工作原理 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝它們自己來實施建立.舉例 public...