設計模式 原型模式(prototype)

2021-10-01 07:01:48 字數 949 閱讀 6044

factory method,abstract factory,prototype,builder屬於物件建立模式。

prototype模式使用情況比較少,通過深拷貝來複製當前狀態的物件???

motivation:建立某些結構非常複雜的物件,由於需求的變化,這些物件面臨著劇烈的變化,但是他們卻能有乙個比較穩定一致的介面。

key inte***ce or class:

1. prototype的基類介面。

feature: 基類中自己使用深拷貝建構函式生成自己的物件,呼叫時先使用基類指標生成具體物件,再呼叫具體物件的功能。

//產品isplitter的介面

class isplitter

}//工廠基類

class splitte***ctory

}///prototype將二者合併

class isplitter

}//各種具體類別的實現

class txtsplitte***ctory: public isplitter

}//呼叫

class mainform

void click()

}

summary:

1. prototype模式用於隔離類物件使用者和具體物件(尤其複雜型別)之間的耦合,要求這些易變類有穩定的介面和;

2.prototype採用「原型轉殖」的方法來建立「易變型別」的物件,它可以是我們使用穩定介面來靈活地建立這些「易變物件」,僅需要註冊乙個新類的物件(原型),然後在任何需要的地方轉殖;

3.fprototype中的clone方法可以採用某些框架中的序列化來實現深拷貝。

Java 設計模式之原型模式 Prototype

模式名原型模式prototype 定義原型模式是建立型模式 的一種,其特點在於通過 複製 乙個已經存在的例項 來返回新的例項,而不是新建例項。被複製的例項就是我們所稱的 原型 這個原型是可定製的。原型模式多用於建立複雜的或者耗時的例項,因為這種情況下,複製乙個已經存在的例項使程式執行更高效 或者建立...

設計模式學習系列6 原型模式(prototype)

原型模式 prototype 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。允許乙個物件再建立另外乙個新物件的時候根本無需知道任何建立細節,只需要請求圓形物件的copy函式皆可。1原型模式構成 客戶 client 角色 客戶類提出建立物件的請求。抽象原型 prototype 角色 ...

設計模式 原型模式

1.首先分析原型模式的由來 一般來說,建立乙個物件可以由以下方法 知道物件的具體型別,直接用new生成。不知道型號,知道相應的需求,可以使用工廠方法模式。根據乙個已有的物件來複製為乙個新的物件,可以使用原型模式。2.原型模式可以簡單理解為拷貝原型物件得到新的物件。想象乙個配鑰匙的小店,給店主乙個原有...