日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript設計模式學習之適配器模式

瀏覽:147日期:2023-10-02 11:55:38
概述

適配器模式是設計模式行為型模式中的一種模式;

定義:

適配器用來解決兩個已有接口之間不匹配的問題,它并不需要考慮接口是如何實現,也不用考慮將來該如何修改;適配器不需要修改已有接口,就可以使他們協同工作;

白話解釋:

你買了某種電器產品,準備帶回家好好感受該款產品的魅力;結果帶回家之后準備通電使用的時候,發現該產品僅支持兩孔插座,而你家里的電源插座都是三孔插座;這個時候你總不能又跑去電器專賣店退貨吧;突然靈機一動,你想起來了家里還有多功能電源插座,而多功能電源插座恰好就是三孔,于是你拿出你的多功能電源插座插上電源插座,再拿你電器產品的電源插座插在多功能插座上面的兩孔插座上,開始享受美滋滋的生活;這里的多功能插座就是一個適配器;

代碼實現

var googleMap = { show: function(){console.log( ’開始渲染谷歌地圖’ ); }};var baiduMap = { show: function(){console.log( ’開始渲染百度地圖’ ); }};var renderMap = function( map ){ if ( map.show instanceof Function ){map.show(); }};renderMap( googleMap ); // 開始渲染谷歌地圖renderMap( baiduMap ); // 開始渲染百度地圖

當然上面的代碼是能夠正常運行的,這得益于這兩個對象中的參數名都是一樣的,所以才能夠正常的運行和顯示;

var googleMap = { show: function(){console.log( ’開始渲染谷歌地圖’ ); }};var baiduMap = { display: function(){console.log( ’開始渲染百度地圖’ ); }};

突然有一天如果baiduMap的方法名改變了呢?那么我們再跟上面一樣運行肯定是會報錯的,因為baiduMap對象中已經沒有了show()這個方法了;

使用適配器模式來修改:

var googleMap = { show: function(){console.log( ’開始渲染谷歌地圖’ ); }};var baiduMap = { display: function(){console.log( ’開始渲染百度地圖’ ); }};var baiduMapAdapter = { show: function(){return baiduMap.display(); }};renderMap( googleMap ); // 開始渲染谷歌地圖renderMap( baiduMapAdapter ); // 開始渲染百度地圖

在這段代碼中適配器做的事情其實很簡單,就是創建了一個對象,添加了一個同名的show()方法,然后在適配器里面調用了baiduMap.display()方法,這樣我們只需要在調用baiduMap的時候調用我們的適配器即可達到預期效果;

我們作為前端開發人員,對頁面上期待得到的數據和數據格式肯定是比較了解的,但是在前后端分離的開發模式中有的時候會遇到這種尷尬的處境:

我們都知道很多UI組件或者工具庫會按指定的數據格式進行渲染,但是這個時候后端是不知道的;所以可能接口出來的數據我們是不能直接正常的在頁面上渲染的,而此時老板催促我們趕緊上線,而后端堅持認為數據格式沒問題,堅決不修改;這個時候我們可以通過適配器模式來前端格式化數據;

后端返回的json數據格式:

[ { 'day': '周一', 'uv': 6300 }, { 'day': '周二', 'uv': 7100 }, { 'day': '周三', 'uv': 4300 }, { 'day': '周四', 'uv': 3300 }, { 'day': '周五', 'uv': 8300 }, { 'day': '周六', 'uv': 9300 }, { 'day': '周日', 'uv': 11300 }]

Echarts圖表圖形需要的數據格式:

['周二', '周二', '周三', '周四', '周五', '周六', '周日'] //x軸的數據[6300. 7100, 4300, 3300, 8300, 9300, 11300] //坐標點的數據

雖然心里苦,但還是要解決問題!使用適配器來解決:

//x軸適配器function echartXAxisAdapter(res) { return res.map(item => item.day);}//坐標點適配器function echartDataAdapter(res) { return res.map(item => item.uv);}

創建兩個函數分別對數據按照echarts所需要的數據格式進行格式化處理即可解決問題;這兩個方法其實就是一個適配器,把指定的數據丟進去即可按照指定規則輸出我們期待得到的數據格式;

總結

個人認為適配器模式其實是一種亡羊補牢式的設計模式,如果在項目開發的開始階段我們就知道我們期待的數據格式或者方法名等,我們就可能永遠都用不到適配器模式;但是項目的迭代往往是不可預期的,當項目迭代之后數據格式或者方法名發生變化之后,我們通常可以使用適配器模式來進行適配解決;當然了,最好的解決辦法就是項目開發過程中前后端協商討論數據格式、文件名等代碼規范,這樣是對項目的開發效率是會有很大的提升的;

以上就是JavaScript設計模式學習之適配器模式的詳細內容,更多關于JavaScript設計模式的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日本国产| 爽好久久久欧美精品| 日韩高清不卡在线| 亚洲丝袜美腿一区| 亚洲一区二区三区四区电影| 香蕉精品999视频一区二区| 亚洲综合日韩| 日韩中文字幕av电影| 亚洲综合色婷婷在线观看| 免费精品视频在线| 亚洲视频电影在线| 蜜臀久久99精品久久久画质超高清 | 国内精品伊人| 成人午夜在线| 91精品一区国产高清在线gif| 激情综合亚洲| 在线观看视频免费一区二区三区| 日韩三级精品| 麻豆国产精品一区二区三区| 国产精品原创| 久久青草久久| 免费成人在线观看| 国产欧美一级| 国产激情在线播放| 国产在线成人| 亚洲va久久| 欧美久久一区二区三区| 精品三级国产| 欧美精品一区二区久久| 亚洲精品福利| 精品久久一区| 欧美日韩国产高清电影| 在线精品视频一区| 久久字幕精品一区| 99热国内精品| 日韩手机在线| 国产不卡人人| 久久成人国产| 欧美国产免费| 亚洲性色视频| 欧美另类中文字幕| 神马午夜久久| 视频一区中文字幕精品| 精品午夜av| 日韩视频一区| 国产精品久久久久久久久久妞妞| 欧美日韩国产v| 伊人久久一区| 国产中文在线播放| 综合一区二区三区| 日本久久精品| 亚洲精选久久| av高清不卡| 蜜臀av国产精品久久久久| 国产精品一区二区精品视频观看| 色爱综合av| 欧美日韩中出| 欧美日韩国产亚洲一区| 国产精品伊人| 欧美高清不卡| 麻豆一区在线| 久久福利精品| 国产精品xx| 91亚洲精品在看在线观看高清| 欧美日韩精品免费观看视完整 | 在线亚洲自拍| 精品一区视频| 蜜臀av一区二区在线免费观看| 精品亚洲精品| 亚洲tv在线| 亚洲无线一线二线三线区别av| 国产麻豆一区二区三区| 在线精品小视频| 精品国产一区二区三区av片| 丝袜国产日韩另类美女| 日本在线高清| 国产精品多人| 亚洲我射av| 国产精品av一区二区| 国产精品一区免费在线| 香蕉成人久久| 色婷婷狠狠五月综合天色拍| 国产精品2023| 在线看片一区| 宅男在线一区| 日本在线高清| 麻豆精品在线观看| 日本电影久久久| 亚洲欧美视频| 蜜桃视频欧美| 97se综合| 精品一区二区三区在线观看视频| 日本中文字幕视频一区| 亚洲欧美久久| 亚洲大全视频| 天堂√8在线中文| 欧美成人精品一级| 日韩精品三区四区| 性欧美精品高清| 九一精品国产| 99精品国产一区二区三区| 国产精品久久久久蜜臀| 久久av免费| 国产亚洲精品精品国产亚洲综合| 蜜桃一区二区三区在线观看| 国产精品av久久久久久麻豆网| 在线一区av| 国产在线日韩精品| 免费在线成人| 国产精品xxx| 国产调教精品| 日本午夜精品| 日韩精品欧美大片| 日本大胆欧美人术艺术动态| 欧美日韩国产综合网| 91精品国产乱码久久久久久久 | 亚洲黄页一区| 91久久久精品国产| 免费观看久久av| 亚洲福利一区| 亚洲国产综合在线看不卡| 美女少妇全过程你懂的久久| 免费观看久久av| 婷婷综合五月| 亚洲精品国产嫩草在线观看 | 最新国产精品| 日韩高清成人在线| 国产欧美亚洲精品a| 国产精品久一| 国产专区精品| 日韩亚洲一区在线| 色婷婷精品视频| 影音国产精品| 蜜桃视频在线观看一区二区| 日本亚州欧洲精品不卡| 青青伊人久久| 国产精品成人自拍| 麻豆一区二区99久久久久| 精品国产亚洲日本| 亚洲美女久久精品| 亚洲性图久久| 亚洲伊人影院| 国产精品日本一区二区不卡视频 | 国产不卡人人| 欧美日韩一二三四| 国产色综合网| 日韩专区视频网站| 久久av日韩| 成人羞羞在线观看网站| re久久精品视频| 四虎在线精品| 国产精品最新自拍| 日韩网站中文字幕| 久久一区二区三区喷水| 好看的亚洲午夜视频在线| 日本精品影院| 免费国产自久久久久三四区久久| 视频一区二区国产| 国产免费av一区二区三区| 精品国产亚洲一区二区在线观看| 一区二区三区四区日本视频| 一区在线免费| 欧美日韩夜夜| 日韩.com| 在线国产一区| 91精品国产自产在线丝袜啪| 精品高清久久| 亚洲精品97| 91亚洲精品在看在线观看高清| 国产一区二区三区不卡av | 国产一区二区三区黄网站| 久久亚洲国产| 日本一区二区中文字幕| 日韩1区在线| 免费成人在线视频观看| 精品视频亚洲| 亚洲一区国产| 久久久91麻豆精品国产一区| 久久精品欧美一区| 亚洲欧洲国产精品一区| 福利欧美精品在线| 亚洲欧美成人综合| 红杏一区二区三区| 亚洲黄色影院| 久久精品五月| 免费成人性网站| 国产v日韩v欧美v| 日韩不卡手机在线v区| 精品三级久久| 国产欧美日韩精品一区二区免费| 欧美日韩在线播放视频| 国产精品一区二区三区www| 欧美在线亚洲综合一区| 国产美女久久| 国产精品嫩草99av在线| 国产中文欧美日韩在线| 日本亚洲欧洲无免费码在线| 91精品啪在线观看国产18| 国产精品综合色区在线观看| 午夜在线视频一区二区区别|