国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

javascript適配器模式和組合模式原理與實現方法詳解

瀏覽:2日期:2022-06-13 11:07:05
一、適配器模式

1、作用:主要解決兩個軟件實體間接口不兼容的問題

2、實例

(1)地圖渲染的適配

//谷歌和百度地圖的渲染地圖調用的方式不一樣var googleMap = { show: function () {console.log('開始渲染谷歌地圖') }}var BaiduMap = { display: function () {console.log('開始渲染谷歌地圖') }}//我們 程序中的渲染地圖方法入下var renderMap = function (map) { if (map.show instanceof Function) {map.show() }}//baiduMap 來源于第三方,不能改變其內部構造,那么需要對百度地圖做一下適配var BaiduAdapter = { show: function () {return BaiduMap.display() }}

(2)接口數據格式的統一適配

//接口數據格式的統一適配var cityData = [{name: 'shenzhen',id: 11 }, {name: 'guangzhou',id: 12 }]//新數據源var newcityData = { 'shenzhen': 11, 'guanzghou': 12, 'zhuhai': 12}//數據格式轉換適配器var addressAdapter = function (data) { var address = []; for (var i in data) {var objTemp = {};objTemp.name = i;objTemp.id = data[i];address.push(objTemp) } return address;}console.log(addressAdapter(newcityData))

運行結果如下:

二、組合模式

1、圖片示意

2、組合模式的例子--掃描文件夾

文件夾和文件之間的關系,非常適用組合模式來描述。文件夾里既可以包含文件,又可以包含其他文件夾。

//掃描文件夾 folder 和 file 兩個類var Folder = function (name) { this.name = name; this.file = []}Folder.prototype.add = function (file) { this.file.push(file)}Folder.prototype.scan = function () { console.log('開始掃描文件夾'+this.name) for(var i=0;i<this.file.length;i++){this.file[i].scan() }}var File = function(name){ this.name = name;}File.prototype.add = function(){ throw new Error('文件下面不能再添加文件')}File.prototype.scan = function () { console.log('開始掃描文件'+this.name)}var chinese = new File('chinese')var math = new File('math')var English = new File('English')var hobby = new File('hobby')var folder1=new Folder('subject');folder1.add(chinese)folder1.add(math)folder1.add(English)var folder2=new Folder('entertainment')folder2.add(hobby)var folder=new Folder('doc')folder.add(folder1)folder.add(folder2)console.log(folder)folder.scan()

運行結果如下:

更多設計模式相關知識點,還可以參考本站文章:

https://www.jb51.net/article/252965.htm

https://www.jb51.net/article/27973.htm

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久成人在线 | 亚洲欧美另类专区 | 视频一区精品 | 精品欧美亚洲韩国日本久久 | 国产精品午夜波多野结衣性色 | 国产毛片a| 亚洲精品影院久久久久久 | 国产成人精品高清在线观看99 | 国产精品国产三级国产专区5o | 国产在线精品一区二区高清不卡 | 在线播放国产真实女同事 | avtt加勒比手机版天堂网 | 99精品免费视频 | 国产三级国产精品国产国在线观看 | 国产成人高清视频在线观看免费97 | 123成人网 | 在线看欧美日韩中文字幕 | 欧美在线看欧美高清视频免费 | 欧美二级在线观看免费 | 日本人视频网站一 | 欧美国产综合在线 | 三级色网站 | 日韩高清免费观看 | 国产成人aa在线观看视频 | 欧美一级毛片在线观看 | 女人张开腿让男人捅视频 | 女仆色在线 | 精品国产成人三级在线观看 | www.日本三级 | 亚洲国产第一 | 日本一区二区三区欧美在线观看 | 国产男女乱淫真视频全程播放 | 99精品99| 欧美一级二级三级 | 国内精品久久影视 | 在线日韩欧美一区二区三区 | 国模在线播放 | 亚洲一区二区三区在线视频 | 欧美黑人巨大xxxxxxxx | 国产成人一区二区三区视频免费 | 一国产一级淫片a免费播放口 |