用原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件。
(1)類初始化需要消化非常多的資源,這個資源包括資料,硬體資源等,通過原型拷貝避免這些消耗。
(2)通過new產生乙個物件需要非常繁瑣的資料準備或訪問許可權,這時可以使用原型模式,
(3)乙個物件需要提供給其他物件訪問,而且各個呼叫者可能都需要修改其值,可以考慮使用原型模式拷貝多個物件供呼叫者使用,即保護性拷貝。
注意:通過實現cloneable介面的原型模式在呼叫clone函式gou zao例項時並不一定比通過new操作速度快,只有當通過new構造物件較為耗時或者說成本較高時,通過clone方法才能夠獲得效率上的提公升。
public
class
people
implements
cloneable
public
void
setname(string name)
public string getaddress()
public
void
setaddress(string address)
public date getdate()
public
void
setdate(date date)
public arraylistgetphone()
public
void
setphone(arraylistphone)
@override
protected people clone() catch (clonenotsupportedexception e)
return
null;
}}
JS設計模式讀書筆記之原型模式
原型樣例 建立乙個撲克類 letpoker function let poker newpoker poker.numbers 52 poker.cates 1 poker.users students object.create object.create function obj func.pr...
設計模式筆記四 原型模式
基本介紹 原型模式 prototype 模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...
《設計模式之禪》讀書筆記 8 原型模式
定義 原型模式是指用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件,簡而言之,就是不通過new關鍵字來產生乙個物件,而是通過物件複製來實現。類圖 實現實現乙個介面,然後重寫clone方法,就完成了原型模式 package com.sigalhu.prototypepattern pub...