JS設(shè)計(jì)模式4 - The Prototype Pattern

原型模式

原型模式

目標(biāo)

以一個(gè)存在的對(duì)象為模板創(chuàng)建一個(gè)新的對(duì)象吭历。

何時(shí)使用

  1. 新建對(duì)象的初始化過(guò)程非常昂貴抡医,所以用克隆的方式达址。
  2. 希望創(chuàng)建一樣的對(duì)象。
  3. 對(duì)象中的狀態(tài)是有限的趁耗。
  4. 當(dāng)要實(shí)例化的類(lèi)是在運(yùn)行時(shí)刻指定時(shí)沉唠,例如,通過(guò)動(dòng)態(tài)裝載苛败。
  5. 當(dāng)一個(gè)系統(tǒng)應(yīng)該獨(dú)立于它的產(chǎn)品創(chuàng)建满葛,構(gòu)成和表示時(shí)。

舉例

1罢屈、資源優(yōu)化場(chǎng)景嘀韧。 2、類(lèi)初始化需要消化非常多的資源缠捌,這個(gè)資源包括數(shù)據(jù)锄贷、硬件資源等。 3曼月、性能和安全要求的場(chǎng)景谊却。 4、通過(guò) new 產(chǎn)生一個(gè)對(duì)象需要非常繁瑣的數(shù)據(jù)準(zhǔn)備或訪問(wèn)權(quán)限哑芹,則可以使用原型模式炎辨。 5、一個(gè)對(duì)象多個(gè)修改者的場(chǎng)景聪姿。 6碴萧、一個(gè)對(duì)象需要提供給其他對(duì)象訪問(wèn)乙嘀,而且各個(gè)調(diào)用者可能都需要修改其值時(shí),可以考慮使用原型模式拷貝多個(gè)對(duì)象供調(diào)用者使用破喻。

代碼

由于JavaScript是基于原型的語(yǔ)言虎谢,所以內(nèi)置了原型模式。

var myCar = {
 
  name: "Ford Escort",
 
  drive: function () {
    console.log( "Weeee. I'm driving!" );
  },
 
  panic: function () {
    console.log( "Wait. How do you stop this thing?" );
  }
 
};
 
// Use Object.create to instantiate a new car
var yourCar = Object.create( myCar );
 
// Now we can see that one is a prototype of the other
console.log( yourCar.name );

總結(jié)

Object.create可以參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末低缩,一起剝皮案震驚了整個(gè)濱河市嘉冒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咆繁,老刑警劉巖讳推,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異玩般,居然都是意外死亡银觅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)坏为,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)究驴,“玉大人,你說(shuō)我怎么就攤上這事匀伏∪饔牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵够颠,是天一觀的道長(zhǎng)熙侍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)履磨,這世上最難降的妖魔是什么蛉抓? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮剃诅,結(jié)果婚禮上巷送,老公的妹妹穿的比我還像新娘。我一直安慰自己矛辕,他們只是感情好笑跛,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著如筛,像睡著了一般堡牡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杨刨,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天晤柄,我揣著相機(jī)與錄音,去河邊找鬼妖胀。 笑死芥颈,一個(gè)胖子當(dāng)著我的面吹牛惠勒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播爬坑,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼纠屋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了盾计?” 一聲冷哼從身側(cè)響起售担,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎署辉,沒(méi)想到半個(gè)月后族铆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哭尝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年哥攘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片材鹦。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逝淹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出桶唐,到底是詐尸還是另有隱情栅葡,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布尤泽,位于F島的核電站妥畏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏安吁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一燃辖、第九天 我趴在偏房一處隱蔽的房頂上張望鬼店。 院中可真熱鬧,春花似錦黔龟、人聲如沸妇智。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)巍棱。三九已至,卻和暖如春蛋欣,著一層夾襖步出監(jiān)牢的瞬間航徙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工陷虎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留到踏,地道東北人杠袱。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像窝稿,于是被迫代替她去往敵國(guó)和親楣富。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理伴榔,服務(wù)發(fā)現(xiàn)纹蝴,斷路器,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 1大同小異的工作周報(bào) Sunny軟件公司一直使用自行開(kāi)發(fā)的一套OA (Office Automatic踪少,辦公自動(dòng)化...
    justCode_閱讀 1,151評(píng)論 0 3
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,749評(píng)論 25 707
  • 工廠模式類(lèi)似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品塘安,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式秉馏。簡(jiǎn)單...
    舟漁行舟閱讀 7,724評(píng)論 2 17
  • 好像是五六年前吧绕娘,阿皮有一次帶著十二分的喜訝之情對(duì)Ex-LG說(shuō):哇,我能聽(tīng)懂交響樂(lè)啦栽连!而且不會(huì)聽(tīng)睡著了哦险领。這位一向...
    慢慢飛奔閱讀 861評(píng)論 4 1