原型模式
主要用于物件的復制,實作一個介面(實作Cloneable介面),重寫一個方法(重寫Object類中的clone方法),即完成了原型模式,
原型模式中的拷貝分為“淺拷貝”和“深拷貝”:
淺拷貝:對值型別的成員變數進行值的復制,對參考型別的成員變數只復制參考,不復制參考的物件,
深拷貝:對值型別的成員變數進行值的復制,對參考型別的成員變數也進行參考物件的復制,
(Object類中clone方法只會拷貝物件中的基本資料型別的值,對于資料中、容器物件、參考物件等都不會拷貝,這就是淺拷貝,如果要實作深拷貝,必須將原型模式中的陣列、容器物件、參考物件等另行拷貝,)
原型模式的優點:
1)如果創建新的物件比較復雜時,可以利用原型模式簡化物件的創建程序,
2)使用原型模式創建物件比直接new一個物件在性能上要好得多,因為Object類的clone方法是一個本地方法,它直接操作記憶體中的二進制流,特別是復制大物件時,性能的差別非常明顯,
原型模式的適用場景:
因為以上優點,所以在需要重復地創建相似物件時可以考慮使用原型模式,比如需要在一個回圈體內創建物件,假如物件創建程序比較復雜或者回圈次數很多的話,使用原型模式不但可以簡化創建程序,而且可以使系統的整體性能提高很多,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/16322.html
標籤:設計模式
上一篇:結構型設計模式 - 組合模式詳解
下一篇:觀察者設計模式
