最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

寫在最后

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


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

分享到微博請遵守國家法律
普兰县| 渑池县| 牡丹江市| 肇源县| 河东区| 鄂托克旗| 遂溪县| 利津县| 通河县| 嘉祥县| 内江市| 琼结县| 军事| 松滋市| 遂昌县| 靖边县| 察哈| 上高县| 运城市| 抚远县| 视频| 安新县| 涞源县| 平定县| 建德市| 永顺县| 阳高县| 宁明县| 盐亭县| 鹿泉市| 北川| 鸡西市| 武功县| 上林县| 鄂州市| 桃园市| 蒲城县| 道孚县| 剑阁县| 磴口县| 开封市|