国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設計模式:原型模式

2021-04-11 00:30 作者:做架構師不做框架師  | 我要投稿

什么是原型模式?

原型模式(英文:Prototype Pattern),通過“復制”一個已經(jīng)存在的實例來返回新的實例,而不是新建實例。

一句話歸納

拔一根猴毛,吹出千萬個。

代碼示例

眾所周知,在中國四大名著《西游記》里孫悟空,本領高強,上天遁地,無所不能,他有一個本領就是“拔一根猴毛,吹出千萬個”。

適用性

以下場景我建議你考慮使用:

  • 類的初始化需要消耗很多資源;

  • 構造函數(shù)比較復雜的時候;

  • 循環(huán)體中產(chǎn)生大量對象的時候;

  • new 產(chǎn)生對象時需要大量繁瑣的工作時候(權限、數(shù)據(jù)準備等 );

  • 一個對象有多個修改者的時候;

局限性

以下場景我建議你謹慎使用:

  • 必須實現(xiàn)Cloneable接口;

  • 對現(xiàn)有類進行改造的時候;

  • 要使用clone方法,類的成員變量不能加final關鍵字;

  • 淺拷貝和深拷貝的問題。

深克隆和淺克隆

  • 淺拷貝:只是拷貝本對象,其對象內(nèi)部的數(shù)組、引用對象等都不拷貝,還是指向本對象的內(nèi)部元素地址。

  • 深拷貝:你修改你的,我修改我的,不相互影響。

  • clone()方法的原理是從內(nèi)存(具體來講是堆內(nèi)存)以二進制流的方式進行拷貝,重新分配一個內(nèi)存塊,所以構造器沒有執(zhí)行。

  • 與通過一個類的實例化對象不同的是,原型模式是通過拷貝一個現(xiàn)有對象生成對象,淺拷貝是通過clone()方法,深拷貝是通過實現(xiàn)Serializable讀取二進制流。

寫在最后

最后,好兄弟,記得點贊,關注,謝謝。


設計模式:原型模式的評論 (共 條)

分享到微博請遵守國家法律
勃利县| 镇坪县| 天祝| 曲阳县| 曲沃县| 宣汉县| 西乡县| 渭源县| 红河县| 岳阳县| 嘉定区| 天全县| 齐齐哈尔市| 秦安县| 黎城县| 昭通市| 虹口区| 普陀区| 长宁区| 余干县| 开阳县| 射阳县| 寿宁县| 博罗县| 突泉县| 安丘市| 马关县| 林甸县| 张掖市| 穆棱市| 华亭县| 丘北县| 荔浦县| 石渠县| 县级市| 无棣县| 昌吉市| 融水| 巴青县| 广汉市| 阳谷县|