五月天青色头像情侣网名,国产亚洲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讀取二進制流。

寫在最后

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


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

分享到微博請遵守國家法律
连山| 琼结县| 济源市| 乌兰察布市| 香河县| 扎鲁特旗| 新巴尔虎右旗| 赫章县| 虎林市| 金秀| 同仁县| 石棉县| 大丰市| 西充县| 惠水县| 正蓝旗| 化德县| 英山县| 南投市| 丰镇市| 磴口县| 汉寿县| 资中县| 阜阳市| 年辖:市辖区| 鹤山市| 长春市| 葫芦岛市| 乌拉特后旗| 贵溪市| 萝北县| 靖远县| 永嘉县| 丁青县| 蒙自县| 高雄县| 大厂| 邢台县| 大宁县| 双流县| 正定县|