原型模式

原型模式(Prototype Pattren

定義:

Sepcify the kinds ofobject to create using a prototypical instancand create new objects by copying this prototype.java

用原型實例指定建立對象的種類,而且經過拷貝這些原型建立新的對象。設計模式

 

通俗理解:原型模式就是克隆一個已有的對象安全

 

通用類圖

通用代碼:

package PrototypePattern;

public class PrototypeClass implements Cloneable{
	
	@Override
	protected PrototypeClass clone(){
		
		PrototypeClass prototypeClass = null;
		
		try {
			prototypeClass = (PrototypeClass)super.clone();
		} catch (CloneNotSupportedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return prototypeClass;
	}
}

客戶端:ide

package PrototypePattern;

public class Client {
	public static void main(String[] args) {
		PrototypeClass obj1 = new PrototypeClass();
		PrototypeClass obj2 = obj1.clone();
		
		System.out.println(obj1);
		System.out.println(obj2);
	}
}

原型模式的優勢:

  1. 性能優良:是內存二進制流的拷貝,比直接new一個對象性能好不少函數

  2. 避免構造函數的約束性能

原型模式的使用場景:

  1. 資源優化場景:優化

  2. 性能和安全要求的場景this

  3. 一個基本對象多個修改者的場景spa

原型模式的注意事項:

  1. 構造函數不會被執行prototype

  2. 淺拷貝和深拷貝

  3. clonefinal的衝突


參考資料:

    機械工業出版社     《設計模式之禪》        秦小波著

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息