模式名原型模式prototype
定義原型模式是建立型模式
的一種,其特點在於通過「複製」乙個已經存在的例項
來返回新的例項,而不是新建例項。被複製的例項就是我們所稱的「原型」,這個原型是可定製的。
原型模式多用於建立複雜的或者耗時的例項,因為這種情況下,複製乙個已經存在的例項使程式執行更高效;或者建立值相等,只是命名不一樣的同類資料。
例項轉殖羊多利
適用場景
建立複雜或耗時的例項時
結構層次
優點提高建立物件的效能
侷限性clone存在淺轉殖和深轉殖,就是淺拷貝和深拷貝。
同時在jvm優化以後,clone並不再那麼具有優勢,直接new物件也許更有效。
禁止clone:
protected object clone() throws clonenotsupportedexception
原型:
package com.freestudio.designpattern;
//原型:可以定義為抽象類或介面
inte***ce sheepprototype
原型實現:
package com.freestudio.designpattern;
//原型實現
public class sheepimpl implements sheepprototype, cloneable
@override
public object clone()
catch (clonenotsupportedexception exception)
return object;
} @override
public string getname()
@override
public void setname(string name)
@override
public void printname()
}
測試**:
package com.freestudio.designpattern;
public class main
static void testprototype() }
}
java設計模式之原型模式
定義 原型模式就是用原型例項指定建立物件的種類,並且通過複製這些原型建立新的物件。在應用程式中,有些物件比較複雜,其建立過程過於複雜,而且我們又需要頻繁的利用該物件,如果這個時候我們按照常規思維new該物件,那麼務必會造成資源浪費,這個時候我們就希望可以利用乙個已有的物件來不斷對他進行複製就好了,這...
Java設計模式之原型模式
作為物件的建立模式,與單例模式形成對比,用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原型模式要求物件實現乙個可以 轉殖 自身的介面,這樣就可以通過複製乙個例項物件本身來建立乙個新的例項。這樣一來,通過原型例項建立新的物件,就不再需要關心這個例項本身的型別,只要實現了轉殖自身的方法...
設計模式之原型模式 java
原型模式 prototype 是一種建立型設計模式,原型模式允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節。工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝它們自己來實施建立。原型類prototype宣告乙個轉殖方法,由具體原型...