原型模式 Prototype

2021-08-20 09:51:08 字數 1458 閱讀 3254

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

原型模式是一種建立型設計模式,它允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節,工作原理是通過將乙個原型物件傳給那個要發動建立的物件,這個要發動的物件通過請求原型物件拷貝它們自己來實施建立。

現實很殘酷,都第9章了,小菜還沒找到工作呢。在家準備簡歷的他,又被大鳥強行拉入到設計模式的學習中來.......

//工作經歷類

class workexperience : icloneable

set

}private string company;

public string company

set

}public object clone()

}

//簡歷類

class resume : icloneable

private resume(workexperience work)

//設定個人資訊

public void setpersonalinfo(string ***, string age)

//設定工作經歷

public void setworkexperience(string workdate, string company)

//顯示

public void display()

", name, ***, age);

console.writeline("工作經歷: ", work.workdate, work.company);

}public object clone()

}

//客戶端**

關係介紹

原型類(prototype)是具體原型類(concreteprototype)的父類,具體原型類實現原型類的介面。(client)客戶端依賴於原型類,用來建立新的物件。

prototype(原型類):宣告了乙個轉殖自身的介面。

concreteprototype(具體原型類):實現乙個轉殖自身的操作。

1、如果建立新的物件比較複雜時,可以利用原型模式簡化物件的建立過程,同時也能夠提高效率。

2、可以使用深轉殖保持物件的狀態。

3、原型模式提供了簡化的建立結構。

一般在初始化的資訊不發生變化的情況下,轉殖是最好的選擇。這既隱藏了物件建立的細節,又對效能是大大的提高。

參考

原型模式(ProtoType)

1.目的 當需要從乙個物件copy出另外乙個物件時,可以使用原型模式,本質上是呼叫的copy建構函式 與copy建構函式的區別,可能就是不需要顯示的生成物件,而是通過函式呼叫 2.prototype.h ifndef prototype h define prototype h include in...

Prototype 原型模式

prototype 原型模式 所謂原型模式,就是可以根據乙個原型,快速建立出其拷貝。如 int a 1 int b new int a a cout a endl cout b endl 輸出結果 2 1 上面就使用了原型模式。根據原型a,快速建立出了a的拷貝b。同時,b儲存了a當時的狀態。當a之後...

原型模式 prototype

定義 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件 不使用new建立物件 prototype原型模式是一種建立型設計模式,prototype模式允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節,工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動...