c#設計模式之原型(prototype)
1. 為什麼要用原型?用原型的好處
比如我們有乙個工具欄按鈕,新建按鈕,它是*******button的例項,它有長度、寬度屬性等,而且屬性都賦了值。
現在我們要再新增乙個儲存按鈕,它也是*******button的例項,它也有長度、寬度屬性等,不過它還沒賦值,它的值和新建按鈕的值一樣。
如果我們不用原型設計模式的話,可能重新賦一遍值。如果我們用原型設計模式的話,我們可以把新建按鈕作為儲存按鈕的原型。那樣的話就不需要再給儲存按鈕賦值,它的預設的長度、寬度就和新建按鈕一樣了。
2. 在c#中怎樣用原型?
因為類的例項是引用型別,要想用原有的類中的例項的資料的話,只能用clone方法。
clone方法分為深clone和淺clone
在c#中提供了淺clone的方法,即為memberwiseclone()
c#淺clone的例子:
using system;
namespace designpattern
public int width
set }
public int height
set }
public object clone() }
public class test }
}
Java 設計模式之原型模式 Prototype
模式名原型模式prototype 定義原型模式是建立型模式 的一種,其特點在於通過 複製 乙個已經存在的例項 來返回新的例項,而不是新建例項。被複製的例項就是我們所稱的 原型 這個原型是可定製的。原型模式多用於建立複雜的或者耗時的例項,因為這種情況下,複製乙個已經存在的例項使程式執行更高效 或者建立...
設計模式學習系列6 原型模式(prototype)
原型模式 prototype 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。允許乙個物件再建立另外乙個新物件的時候根本無需知道任何建立細節,只需要請求圓形物件的copy函式皆可。1原型模式構成 客戶 client 角色 客戶類提出建立物件的請求。抽象原型 prototype 角色 ...
c 設計模式之原型模式
原型模式prototype pattern 定義 原型模式一種物件建立型模式,她採用複製物件原型的方法來建立物件的例項。使用原型模式建立的例項,具有與原型一樣的資料。注意 1 由原型物件自身建立目標物件。也就是說,物件建立這一動作發自原型物件本身。2 目標物件是原型物件的乙個轉殖。也就說,通過原型模...