朋友圈

17332948818

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:程序開發(fā)培訓(xùn)資訊 > 前端開發(fā)培訓(xùn)資訊 > 北京web*端常見的設(shè)計模式,*端領(lǐng)域中的設(shè)計模式(二)

北京web*端常見的設(shè)計模式,*端領(lǐng)域中的設(shè)計模式(二)

日期:2022-07-13 15:22:19     瀏覽:335    來源:北京培訓(xùn)教育
核心提示:現(xiàn)在web前端也是一個非常熱門的行業(yè),想要學(xué)習(xí)web前端開發(fā)的同學(xué)請看這里北京web前端常見的設(shè)計模式 ,通過對前端領(lǐng)域中的設(shè)計模式(二)?? 的了解,希望以上信息可以幫助到您1.前端領(lǐng)域中的設(shè)計模式(二)繼續(xù)我們上

現(xiàn)在web前端也是一個非常熱門的行業(yè),想要學(xué)習(xí)web前端開發(fā)的同學(xué)請看這里北京web前端常見的設(shè)計模式 ,通過對前端領(lǐng)域中的設(shè)計模式(二)?? 的了解,希望以上信息可以幫助到您

1.前端領(lǐng)域中的設(shè)計模式(二)

繼續(xù)我們上文設(shè)計模式前端相關(guān)實現(xiàn)3.2、結(jié)構(gòu)型設(shè)計設(shè)計模式3.2.1、裝飾器模式裝飾器模式: 允許向一個現(xiàn)有的對象添加新的功能,同時又不改變其結(jié)構(gòu),為現(xiàn)有的對象(類)的一個包裝。主要基本原則:開放封閉原則和單一職責(zé)模式模式介紹:在了解模式之前,我們先來聊一下前端中的高階函數(shù)。高階函數(shù)就是一個函數(shù)A可以接收函數(shù)B為參數(shù)。如: 常見應(yīng)用場景:三大框架中的高高階組件設(shè)計、ES7以后的裝飾器、vue mixins(vue 替代)、core-包等3.2.2、適配器模式適配器模式:兩個不兼容的接口之間的橋梁,它涉及一個單一的類,該類負(fù)責(zé)加入獨立的或不兼容的接口功能。簡單理解: 接口(方法)轉(zhuǎn)換器。舉例說明: 美國電器 110V,在*使用美國電器需要220V 的轉(zhuǎn)換器。主要基本原則:開放封閉原則模式介紹: 該種設(shè)計模式提高了類的透明度、靈活性、復(fù)用度等,但是在大型項目開發(fā)中,不易過多的使用適配器原則,會使項目錯綜復(fù)雜,不易整體把握控制。前端中實際場景實現(xiàn):常見應(yīng)用場景:babel實現(xiàn)思想,npm/瀏覽器兼容等3.2.3、代理模式代理模式: 一個類代表另外一個類的功能,創(chuàng)建一個具有現(xiàn)有對象的對象,為外界提供訪問接口。實際理解:如windows的快捷打開方式。主要基本原則:開放封閉原則、里氏替換原則模式介紹:該種模式就是為對象提供一個代理,控制對這個對象的訪問,在開發(fā)中我們經(jīng)常遇到的代理可分為四種類型: 事件代理,虛擬代理、緩存代理和保護(hù)代理。事件代理:前端中應(yīng)該大家都很熟悉事件代理和事件委托。前端中,通過事件冒泡,制定一個時間處理程序,就可以管理某一類型的所有事件,有效的提升性能與操作。瀏覽器端的實現(xiàn)如: 虛擬代理:圖片預(yù)加載功能,先給 img 標(biāo)簽展示一個占位圖,然后創(chuàng)建一個 Image 實例,讓這個實例的 src 指向真實的目標(biāo)圖片地址,當(dāng)其真實圖片加載完成之后,再將 DOM 上的 img 標(biāo)簽的 src 屬性指向真實圖片地址。簡單實現(xiàn):緩存代理:一般使用在計算量較大的場景中,如去重優(yōu)化,計算緩存,實現(xiàn)如下:保護(hù)代理:也可以稱為代理拒絕,保護(hù)代理用于控制不同權(quán)限的對象對目標(biāo)對象的訪問,在js中場景不算多,大家知道起原理便可。3.2.4、橋接模式橋接模式:抽象化和實現(xiàn)話解耦,使得二者可以獨立變化,前端簡單理解,函數(shù)的封裝,提升代碼的可維護(hù)性。在多維變化的編程中比較實用。舉一個簡單的例子: N個操作系統(tǒng) 、M個電腦。主要基本原則:開放封閉原則模式介紹:分離接口和實現(xiàn)部分,將抽象和實現(xiàn)充分解耦,產(chǎn)生更好的結(jié)構(gòu)話系統(tǒng),提高了系統(tǒng)的可擴展性,對用戶隱藏了實現(xiàn)細(xì)節(jié)。簡單實現(xiàn):使用場景:前端各大框架和npm包中都有或多或少的使用場景,大家可自行尋找學(xué)習(xí)。3.2.5、外觀模式外觀模式:隱藏系統(tǒng)的復(fù)雜性,向使用方提供一個可以訪問系統(tǒng)的接口,它涉及到一個單一的類,該類提供了客戶端請求的簡化方法和對現(xiàn)有系統(tǒng)類方法的委托調(diào)用。主要涉及模式:開放封閉原則、單一匹配原則模式介紹:該模式對出口進(jìn)行了統(tǒng)一封裝,提高了系統(tǒng)的安全性和統(tǒng)一性。簡單實現(xiàn)通過調(diào)用stopEvent簡化了對冒泡事件和默認(rèn)事件的調(diào)用。統(tǒng)一了調(diào)用接口。使用場景:不用同步得到結(jié)果的編程思路, 如webpack打包思想等。3.2.6、組合模式組合模式: 部分整體模式,把相識的對象當(dāng)做一個單一的對象,與橋接模式區(qū)別在于,組合模式是一個樹形結(jié)構(gòu)為基準(zhǔn)的設(shè)計模式。主要設(shè)計原則:接口封閉開放原則模式介紹:該種設(shè)計模式具有高層模塊調(diào)用簡單、底層模塊自由添加的特點,不過從設(shè)計結(jié)構(gòu)來說,這種樹形結(jié)構(gòu)設(shè)計違反了依賴反轉(zhuǎn)原則。具體實現(xiàn):常見場景: 具有樹形結(jié)構(gòu)的業(yè)務(wù)場景。3.2.7、享元模式享元模式:減少創(chuàng)建對象的數(shù)量,減少對內(nèi)存的消耗和提升性能,屬于優(yōu)化編程的設(shè)計模式。模式介紹:該模式運用共享技術(shù)來有效支持大量細(xì)粒度的對象,系統(tǒng)中如果創(chuàng)建了大量類似的對象,,占用了大量的內(nèi)容,思考享元模式優(yōu)化方案就非常有必要了。下面我們思考一個場景:100套女裝、100套男裝,需要尋找模特來試妝,怎樣創(chuàng)建最少的model。簡單設(shè)計思想:該模式核心為找到多個對象的共性問題,及多個類似對象的共同點,具體場景具體分析。該模式的設(shè)計思路與對象池設(shè)計類似,也可使用對象池優(yōu)化具體可參考工廠模式,設(shè)計一個對象池工廠。下一篇:前端領(lǐng)域中的設(shè)計模式(三)

看了以上有關(guān)前端領(lǐng)域中的設(shè)計模式(二)??的講解,如果還有什么疑問可以直接來電咨詢

學(xué)員評價ASK list

  • 范**評價:1、很高興在短短四天,約八個小時的時間就完成了對python的入門學(xué)習(xí)。 2、老師授課很專業(yè),對專業(yè)理解也很強。 3、課堂的實時答疑很喜歡,有了現(xiàn)場教學(xué)的感覺。比枯燥的看錄播視頻來的更有情景感,帶入感。
    手機號碼: 147****6814   評價時間: 2024-11-08
  • 孫**評價:北京千鋒教育UI設(shè)計課程專業(yè)性很強,講課的老師講的非常細(xì)致,雖然我基礎(chǔ)比較差,但是一節(jié)課上下來也完全能夠聽明白,老師還能夠針對你的問題答疑解惑。
    手機號碼: 147****9641   評價時間: 2024-11-08
  • 莫**評價:老師的講課方式,可以快速掌握,教學(xué)方式也非常有邏輯,還很厲害
    手機號碼: 159****5140   評價時間: 2024-11-08
  • 王**評價:大潘老師的python入門教學(xué)挺生動,通過\"受折磨的小鳥\"這一小項目,能夠體現(xiàn)出python框架-pygame的操作簡易,簡明扼要的理解每個執(zhí)行動作的含義,適合新手入門,在一門語言簡短入門后,由老師帶著做項目,能夠更熟練的運用這門語言,同時也極大增加了自己學(xué)習(xí)python的興趣,為今后更深入的發(fā)展打下了基礎(chǔ)!
    手機號碼: 131****7309   評價時間: 2024-11-08
  • 黃**評價:寬敞明亮的教室,親切的老師、完整的課程、友善的同學(xué)(當(dāng)然在不認(rèn)識的情況下),都給我留下了深刻的印象。
    手機號碼: 130****6100   評價時間: 2024-11-08
  • 高**評價:老師講的很不錯,千鋒的老師都是一線大廠大牛,講起課來深入淺出,非常感謝老師的教導(dǎo)。
    手機號碼: 134****7265   評價時間: 2024-11-08

本文由 北京培訓(xùn)教育 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢電話:17332948818

如果本頁不是您要找的課程,您也可以百度查找一下: