最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript設(shè)計(jì)模式適配器模式實(shí)例

 更新時(shí)間:2022年06月23日 14:16:57   作者:??前端若水????  
這篇文章主要介紹了JavaScript設(shè)計(jì)模式適配器模式實(shí)例,適配器設(shè)計(jì)模式可以讓彼此不兼容的功能在一塊工作,有助于避免大規(guī)模的修改代碼,并且易于擴(kuò)展和兼容

前言:

適配器設(shè)計(jì)模式可以用生活中常用的筆記本電腦來做例子,筆記本使用電壓在20v左右,但是我們家用電壓在220v左右,所以我們希望用家用電適配對應(yīng)的筆記本電壓,這個(gè)時(shí)候就需要使用電源適配器

我們可以用我們剛剛說的筆記本電腦來舉例子,這是家用電,家用電電壓為220V,所以我們返回一下電壓數(shù)

//?家用電
????????class?Power{
????????????charge(){
????????????????return?'220V';
????????????}
????????}

筆記本電源適配器,我們創(chuàng)建一個(gè)家用電實(shí)例,在通過方法對電壓進(jìn)行轉(zhuǎn)換為筆記本可充電的電壓

class?Adaptor{
????????????constructor(){
????????????????this.power=?new?Power();
????????????}
????????????charge(){
????????????????//?先拿到家用電電壓
????????????????let?voltage=this.power.charge;
????????????????//?返回一個(gè)轉(zhuǎn)換值
????????????????return?`${voltage}=>20V`
????????????}
????????}

電腦,我們創(chuàng)建一個(gè)電腦適配器實(shí)例,然后電腦適配器實(shí)例的電壓轉(zhuǎn)換方法對電壓進(jìn)行轉(zhuǎn)換充電

class?Computer{
????????constructor(){
????????????this.adaptor=new?Adaptor()
????????}
????????//?電腦充電
????????use(){
????????????console.log(this.adaptor.charge());
????????}
????}

使用:

const cop=new Computer();
//充電
cop.use();

在工作中我們需要使用到多個(gè)功能,比如我們項(xiàng)目中使用到了百度地圖數(shù)據(jù)接口和高德地圖數(shù)據(jù)接口,這個(gè)時(shí)候我們就可以去使用適配器模式

//對百度地圖的數(shù)據(jù)接口操作
const?BaiduMap={
???????????show(){
??????????????//獲取百度地圖數(shù)據(jù)
???????????}
???????}
       //對高德地圖的數(shù)據(jù)接口操作
???????const?GaodeiMap={
???????????show(){
???????????//獲取高德地圖數(shù)據(jù)
???????????}
???????}
            //對騰訊地圖的數(shù)據(jù)接口操作
???????const?TxMap={
???????????init(){
???????????//獲取騰訊地圖數(shù)據(jù)
???????????}
???????}

由于他們都有共同點(diǎn),所以請求數(shù)據(jù)都為show方法,如果有一天使用到其他的地圖請求數(shù)據(jù)為init的API接口,我們?nèi)バ薷墨@取數(shù)據(jù)的方法的話成本太高,這個(gè)時(shí)候就需要使用到了適配器設(shè)計(jì)模式,通過switch語句進(jìn)行匹配方法名,進(jìn)行調(diào)用

//接收倆個(gè)參數(shù),第一個(gè)是地圖模塊名,第二個(gè)是調(diào)用方法
function?Adapter(V,?fnName)?{
????????????switch?(fnName)?{
????????????????case?'show':
????????????????????V.show()
????????????????????break;
????????????????case?'init':
????????????????????V.init()
????????????????????break;
????????????}
????????}

適配器設(shè)計(jì)模式可以讓彼此不兼容的功能在一塊工作,有助于避免大規(guī)模的修改代碼,并且易于擴(kuò)展和兼容,但是如果過多的使用適配器,就會使得代碼復(fù)雜程度增加,看起來十分混亂,維護(hù)起來有一定的困難

到此這篇關(guān)于JavaScript設(shè)計(jì)模式適配器模式實(shí)例的文章就介紹到這了,更多相關(guān)JavaScript 適配器模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Typescript中bind的使用方法及注意事項(xiàng)

    Typescript中bind的使用方法及注意事項(xiàng)

    在TypeScript(以及JavaScript)中,bind()是一個(gè)用于改變函數(shù)上下文的方法,下面這篇文章主要給大家介紹了關(guān)于Typescript中bind的使用方法及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • javascript 操作table的特性

    javascript 操作table的特性

    javascript操作table的特性,大家可以看下,發(fā)揮下,實(shí)現(xiàn)更多的功能。
    2009-09-09
  • javascript 中select框觸發(fā)事件過程的分析

    javascript 中select框觸發(fā)事件過程的分析

    這篇文章主要介紹了javascript 中select框觸發(fā)事件過程的分析的相關(guān)資料,這里對select 觸發(fā)過程進(jìn)行了深入分析,幫助大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • JavaScript子窗口調(diào)用父窗口變量和函數(shù)的方法

    JavaScript子窗口調(diào)用父窗口變量和函數(shù)的方法

    這篇文章主要介紹了JavaScript子窗口調(diào)用父窗口變量和函數(shù)的方法,涉及JavaScript窗口調(diào)用的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 微信小程序如何獲取openid及用戶信息

    微信小程序如何獲取openid及用戶信息

    這篇文章主要介紹了微信小程序如何獲取openid及用戶信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • js創(chuàng)建數(shù)組的簡單方法

    js創(chuàng)建數(shù)組的簡單方法

    下面小編就為大家?guī)硪黄狫S創(chuàng)建數(shù)組的簡單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • javascript時(shí)間與時(shí)間戳互轉(zhuǎn)多種方式

    javascript時(shí)間與時(shí)間戳互轉(zhuǎn)多種方式

    javascript獲取時(shí)間、時(shí)間戳等,最核心的就是利用Date關(guān)鍵詞去獲取,時(shí)間戳的獲取方式整理了5種方法,后4種是利用new Date()實(shí)例化對象來獲取當(dāng)前時(shí)間,再對當(dāng)前獲取的時(shí)間再進(jìn)一步處理獲取時(shí)間戳,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-11-11
  • ES6實(shí)現(xiàn)圖片切換特效代碼

    ES6實(shí)現(xiàn)圖片切換特效代碼

    這篇文章主要介紹了ES6實(shí)現(xiàn)圖片切換特效代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • JS實(shí)現(xiàn)簡單的表格增刪

    JS實(shí)現(xiàn)簡單的表格增刪

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡單的表格增刪,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JavaScript通過function定義對象并給對象添加toString()方法實(shí)例分析

    JavaScript通過function定義對象并給對象添加toString()方法實(shí)例分析

    這篇文章主要介紹了JavaScript通過function定義對象并給對象添加toString()方法,實(shí)例分析了javascript中function定義對象及添加方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03

最新評論

玉林市| 淮阳县| 营山县| 中西区| 章丘市| 平凉市| 宜兰县| 房山区| 崇礼县| 绥中县| 营山县| 灵石县| 满城县| 广元市| 上饶市| 五大连池市| 石嘴山市| 榆社县| 五指山市| 邓州市| 长岭县| 高尔夫| 合川市| 遂川县| 扶余县| 阿拉善右旗| 梓潼县| 芒康县| 元氏县| 策勒县| 汉川市| 浠水县| 滕州市| 荣昌县| 屯留县| 肇源县| 云和县| 新晃| 林州市| 福贡县| 仁怀市|