原型模式

原型模式數組

  主要用於對象的複製,實現一個接口(實現Cloneable接口),重寫一個方法(重寫Object類中的clone方法),即完成了原型模式。性能

原型模式中的拷貝分爲「淺拷貝」和「深拷貝」:spa

  淺拷貝:對值類型的成員變量進行值的複製,對引用類型的成員變量只複製引用,不復制引用的對象。對象

  深拷貝:對值類型的成員變量進行值的複製,對引用類型的成員變量也進行引用對象的複製。接口

  (Object類中clone方法只會拷貝對象中的基本數據類型的值,對於數據中、容器對象、引用對象等都不會拷貝,這就是淺拷貝。若是要實現深拷貝,必須將原型模式中的數組、容器對象、引用對象等另行拷貝。)內存

原型模式的優勢原型

  1)若是建立新的對象比較複雜時,能夠利用原型模式簡化對象的建立過程。容器

  2)使用原型模式建立對象比直接new一個對象在性能上要好得多,由於Object類的clone方法是一個本地方法,它直接操做內存中的二進制流,特別是複製大對象時,性能的差異很是明顯。變量

原型模式的適用場景:循環

  由於以上優勢,因此在須要重複地建立類似對象時能夠考慮使用原型模式。好比須要在一個循環體內建立對象,假如對象建立過程比較複雜或者循環次數不少的話,使用原型模式不但能夠簡化建立過程,並且能夠使系統的總體性能提升不少。

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