設計模式學習 原型

2021-06-26 22:20:13 字數 573 閱讀 8006

--來自《設計模式:可復用物件導向軟體的基礎》

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

class mazeprototypefactory :public mazefactory ;

mazeprototypefactory

::mazeprototypefactory

(maze* m, wall* w, room* r, door* d) ;

wall*

mazeprototypefactory

::prototypewall() ;

//使用基本迷宮構建的原型進行初始化。 //

普通的

mazeprototypefactory

******mazefactory(new maze, new wall, new room, new door);

//bom

bed

mazeprototypefactory

bombedmazefactory(new maze, new bombedwall, new roomwithabomb, new door);

學習設計模式 原型設計模式

先想一下既然要建立新的例項,為什麼不直接使用 new 而要設計出乙個原型模式進行例項的複製呢?這是因為 有的時候,我們也會在不指定類名的前提下生成例項,例如像圖形編輯器中拖動現有的模型工具製作圖形的例項,這種是非常典型的生成例項的過程太過複雜,很難根據類來生成例項場景,因此需要根據現有的例項來生成新...

學習設計模式 原型模式

說明 通過原型模式可以自動複製乙個例項化物件a給新的物件例項化物件b,這樣可以省去很多例項化 重複 的工作,便於維護。轉殖分為淺轉殖和深轉殖,淺轉殖只轉殖基礎型別資訊,對於類似物件這樣的複雜型別資訊,只轉殖這個物件的引用 深轉殖是基礎型別和複雜型別都轉殖其值,而不僅僅是轉殖引用 需求 複製簡歷,需要...

設計模式學習 Prototype 原型

意圖 用原型示例指定建立物件的種類,通過拷貝這些原型建立新的物件 適用性 當例項化的類是在執行時指定時 為了避免建立乙個與產品類平行的工廠類 當乙個類的示例只能有幾個不同狀態組合中的一種時 示例圖 示例 pragma once 孫悟空一變二二變四 class cmonkeyking if m i 1...