日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Prototype Pattern(原型模式)

發(fā)布時(shí)間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Prototype Pattern(原型模式) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

意圖

用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過拷貝這些原型創(chuàng)建新的對(duì)象。

適用性

? 當(dāng)要實(shí)例化的類是在運(yùn)行時(shí)刻指定時(shí),例如,通過動(dòng)態(tài)裝載;
? 為了避免創(chuàng)建一個(gè)與產(chǎn)品類層次平行的工廠類層次時(shí);
? 當(dāng)一個(gè)類的實(shí)例只能有幾個(gè)不同狀態(tài)組合中的一種時(shí)。建立相應(yīng)數(shù)目的原型并克隆它們可能比每次用合適的狀態(tài)手工實(shí)例化該類更方便一些。

結(jié)構(gòu)

?
參與者:
? Prototype(原型)?
— 聲明一個(gè)克隆自身的接口。
? ConcretePrototype(具體的原型)?
— 實(shí)現(xiàn)一個(gè)克隆自身的操作。?
? Client(場(chǎng)景)?
— 讓一個(gè)原型克隆自身從而創(chuàng)建一個(gè)新的對(duì)象。?


例子

阿諾斯瓦辛格主演的《第六日》2000上映。主角叫亞當(dāng),來之圣經(jīng):上帝在第六日創(chuàng)造了亞當(dāng)。
在不遠(yuǎn)的將來,牛、魚甚至寵物都可以任意克隆,但克隆人類是非法的。但有一天當(dāng)亞當(dāng)-吉布森回到家,卻發(fā)現(xiàn)一個(gè)克隆人取代了自己。他被趕出了家門,更遭的是,陰謀的制造者為了掩蓋真相,派出殺手追殺亞當(dāng)滅口。為了逃生,同時(shí)也為了重新贏得自己的一切,亞當(dāng)同神秘的幕后策劃者展開了機(jī)智的戰(zhàn)斗。


?

優(yōu)缺點(diǎn)

? 優(yōu)點(diǎn):
性能優(yōu)良。原型模式是在內(nèi)存二進(jìn)制流的拷貝,要比直接new一個(gè)對(duì)象性能好很多,特別是要在一個(gè)循環(huán)體內(nèi)產(chǎn)生大量的對(duì)象時(shí),原型模式可以更好地體現(xiàn)其優(yōu)點(diǎn)。


? 缺點(diǎn):
逃避構(gòu)造函數(shù)的約束。這既是它的優(yōu)點(diǎn)也是缺點(diǎn),直接在內(nèi)存中拷貝,構(gòu)造函數(shù)是不會(huì)執(zhí)行的。優(yōu)點(diǎn)就是減少了約束,缺點(diǎn)也是減少了約束,需要大家在實(shí)際應(yīng)用時(shí)考慮。

總結(jié)

以上是生活随笔為你收集整理的Prototype Pattern(原型模式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。