原型模式指定建立物件的種類,並且通過拷貝這些原型建立新物件。原型模式允許乙個物件在建立另乙個物件,根本無需知道任何建立的細節。
工作原理:通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝言行自己來實施建立過程。de>de>de>
抽象原型類(
prototypede):定義具有轉殖自己的方法的介面。
具體原型類(
concreteprototype
):實現具體的轉殖方法。
客戶(client
):通過轉殖生成乙個新的物件。
範例:貼上拷貝,在de>de>wordde>de>中複製多個笑臉物件。
顏色管理器,顏色管理器首先建立了各種顏色,並將其儲存在乙個雜湊表中,當客戶需要時,就返回乙個顏色的轉殖。 3.
畫圖中的工具欄,工具條上面的每乙個按鈕都是乙個物件。選擇後實現的功能就是物件行為的開始,程式先登記每個物件,存放在物件池中。每點乙個按鈕就動態轉殖乙個原型。
優勢和缺陷:
原型模式得到了廣泛的應用,特別在建立物件成本較大的情況下(初始化需占用較長時間,占用太多
cpu資 源或網路資源。另外,如果系統要儲存物件的狀態,二物件的狀態變化很小,或者物件本身佔記憶體不大的時候,也可以配合備忘錄模式來應用。如果物件的狀態變化 很大,或者物件占用的記憶體很大,那麼採用狀態模式會比原型模更好。原型模式的缺點是在實現深層複製時需要編寫複雜**。
應用情景: 1.
類的例項化是動態的。 2.
你需要避免使用分層次的工廠類來建立分層次的物件。 3.
類的例項物件只有乙個或很少的幾個組合狀態。
建立型模式 原型模式
使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...
建立型模式 原型模式
原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...
原型模式 建立型模式
文章首發個人部落格 如果我們有乙個類 sheep 它裡面有兩個屬性,名稱 name 年齡 age 現在我們有乙個它的例項 s1 我們需要按照這個例項的屬性再去建立兩個物件。1 sheep data public class sheep 2 main public class main 原型模式 用原...