五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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讀取二進制流。

寫在最后

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


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

分享到微博請遵守國家法律
卫辉市| 玉溪市| 通江县| 紫阳县| 广平县| 柘城县| 涿鹿县| 定南县| 衢州市| 巍山| 河东区| 铁岭市| 泌阳县| 马尔康县| 阿合奇县| 苍梧县| 双辽市| 桐城市| 中西区| 牙克石市| 衡水市| 江西省| 宣汉县| 郑州市| 长白| 长泰县| 青田县| 朔州市| 治县。| 镇宁| 泗阳县| 灵石县| 郧西县| 定日县| 浑源县| 舒城县| 苏尼特左旗| 镇巴县| 台南市| 宾川县| 托里县|