這篇文章主要講解了如何使用javascript中的享元模式,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
目前創(chuàng)新互聯已為千余家的企業(yè)提供了網站建設、域名、虛擬主機、網站運營、企業(yè)網站設計、江陽網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。介紹:在我們日常開發(fā)中需要創(chuàng)建很多對象,雖然垃圾回收機制能幫我們進行回收,但是在一些需要重復創(chuàng)建對象的場景下,就需要有一種機制來進行優(yōu)化,提高系統(tǒng)資源的利用率。
享元模式就是解決這類問題,主要目的是減少創(chuàng)建對象的數量。享元模式提倡重用現有同類對象,如未找到匹配的對象則創(chuàng)建新對象
定義:運用共享技術有效的支持大量細粒度對象的復用。系統(tǒng)只適用少量的對象,而這些對象都很相似,狀態(tài)變化很小,可以實現對象的多次復用。由于享元模式要求能夠共享的對象必須是細粒度的對象,因此他又稱為輕量級模式,是一種對象結構型模式。
場景:我們以創(chuàng)建圓形對象為例,通過兩個例子來對比享元模式的效果。
示例:
var redCricle = new Circle('red'); redCricle.setAttr(10,10,10); redCricle.draw(); var redCricle1 = new Circle('red'); redCricle1.setAttr(1,1,100); redCricle1.draw(); var redCricle2 = new Circle('red'); redCricle2.setAttr(5,5,50); redCricle2.draw(); var blueCricle = new Circle('blue'); blueCricle.setAttr(1,1,50); blueCricle.draw(); var blueCricle1 = new Circle('blue'); blueCricle1.setAttr(12,12,50); blueCricle1.draw(); var blueCricle2 = new Circle('blue'); blueCricle2.setAttr(2,12,20); blueCricle2.draw(); // 創(chuàng)建了一個對象 // 畫圓: 顏色:red x:10 y:10 radius:10 // 創(chuàng)建了一個對象 // 畫圓: 顏色:red x:1 y:1 radius:100 // 創(chuàng)建了一個對象 // 畫圓: 顏色:red x:5 y:5 radius:50 // 創(chuàng)建了一個對象 // 畫圓: 顏色:blue x:1 y:1 radius:50 // 創(chuàng)建了一個對象 // 畫圓: 顏色:blue x:12 y:12 radius:50 // 創(chuàng)建了一個對象 // 畫圓: 顏色:blue x:2 y:12 radius:20
分享標題:如何使用javascript中的享元模式-創(chuàng)新互聯
路徑分享:http://aaarwkj.com/article34/dddcse.html
成都網站建設公司_創(chuàng)新互聯,為您提供外貿建站、域名注冊、靜態(tài)網站、品牌網站制作、軟件開發(fā)、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯