摘要:所以程序在引入文件的時(shí)候用了單例模式,一個(gè)文件實(shí)例化一次,這種做法無疑是好的,但是也容易引起。在我們平時(shí)的開發(fā)過程中,可以借鑒這兩種方式去緩存變量,節(jié)點(diǎn)等。
這一章作者講了一個(gè)例子,就是在用單例模式生成一個(gè)dom節(jié)點(diǎn),還要做到只有訪問的時(shí)候才創(chuàng)建,后續(xù)訪問直接用前面創(chuàng)建的。
那么實(shí)際開發(fā)中我們會用到這個(gè)模式嗎?
現(xiàn)在我們基本都是用vue,react,angular開發(fā),不太會直接去操作dom。那這個(gè)給我們的意義在哪里呢?
其實(shí)吧,如果你寫react,你會發(fā)現(xiàn)單例無處不在。
比如你設(shè)置一個(gè)antd的modal,一般情況下你會通過設(shè)置visible去顯示或者隱藏modal。其實(shí)這個(gè)modal可以說是單例模式,因?yàn)樗粍?chuàng)建了一次,每次關(guān)閉只是改變了css樣式的display。目的是為了優(yōu)化性能不用每次去創(chuàng)建一個(gè)dom。
還有就是你在文件中引入的變量也是單例。
比如a.js文件中
export const fruits = ["apple", "banana", "pear"];
當(dāng)你在某個(gè)組件里面引入這個(gè)變量。那么如果你改變它
import {fruits} from "./a.js"; fruits.push("grape");
那么當(dāng)頁面沒刷新,所有引用的地方都會被改變,這時(shí)很容易引起的bug。
所以程序在引入文件的時(shí)候用了單例模式,一個(gè)文件實(shí)例化一次,這種做法無疑是好的,但是也容易引起bug。
在我們平時(shí)的開發(fā)過程中,可以借鑒這兩種方式去緩存變量,節(jié)點(diǎn)等。但是也要注意不要隨意改變。
上一章-前言
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109366.html
摘要:本系列為設(shè)計(jì)模式與開發(fā)實(shí)踐作者曾探學(xué)習(xí)總結(jié),如想深入了解,請支持作者原版單例模式實(shí)現(xiàn)單例模式單例模式的定義是保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。 本系列為《JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐》(作者:曾探)學(xué)習(xí)總結(jié),如想深入了解,請支持作者原版 單例模式 實(shí)現(xiàn)單例模式 單例模式的定義是:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。單例模式是一種常用的模式...
摘要:相信很多人都看過設(shè)計(jì)模式與開發(fā)實(shí)踐這本書,每個(gè)人都有自己的體會感受,作為前端年開發(fā)經(jīng)驗(yàn)的程序猿,用我自認(rèn)為還可以的實(shí)踐經(jīng)驗(yàn)來與大家談?wù)勥@本書。這章是前言,后面陸續(xù)會講解每個(gè)設(shè)計(jì)模式。 相信很多人都看過《javascript設(shè)計(jì)模式與開發(fā)實(shí)踐》這本書,每個(gè)人都有自己的體會感受,作為前端3年開發(fā)經(jīng)驗(yàn)的程序猿,用我自認(rèn)為還可以的實(shí)踐經(jīng)驗(yàn)來與大家談?wù)勥@本書。這章是前言,后面陸續(xù)會講解每個(gè)設(shè)計(jì)模...
摘要:最佳實(shí)踐使用代理方式實(shí)現(xiàn)單例模式,使用一個(gè)代理函數(shù)來實(shí)現(xiàn)實(shí)單例例化原生的代碼摘自設(shè)計(jì)模式與開發(fā)實(shí)踐下來代理類測試函數(shù)返回版的用實(shí)現(xiàn)的單例模式代碼已創(chuàng)建張三李四返回 說明:只要實(shí)例化一次,超過一次的實(shí)例化過程會返回之前實(shí)例化的結(jié)果,而不會在內(nèi)存中再次寫入新的實(shí)例對象。----類似于once。 需要遵守的原則:單一職責(zé)的原則,每一個(gè)類或者函數(shù)只負(fù)責(zé)一個(gè)功能。 最佳實(shí)踐:使用代理方式實(shí)現(xiàn)單例...
閱讀 3265·2021-11-17 09:33
閱讀 3320·2021-11-15 11:37
閱讀 2980·2021-10-19 11:47
閱讀 3227·2019-08-29 15:32
閱讀 1034·2019-08-29 15:27
閱讀 1553·2019-08-29 13:15
閱讀 958·2019-08-29 12:47
閱讀 2053·2019-08-29 11:30