摘要:適配模式定義適配器模式將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個(gè)類可以協(xié)同工作。
適配模式
定義:適配器模式將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個(gè)類可以協(xié)同工作。原有的兩個(gè)類由于接口不一, 需要對(duì)其中一個(gè)類進(jìn)行適配包裝, 以供與另外的類進(jìn)行溝通匹配
實(shí)現(xiàn)適配模式有兩種, 繼承和橋接, 后者本人更喜歡
繼承結(jié)構(gòu):
實(shí)現(xiàn)
220v接口
//類適配器模式 var v220 = new Interface("v220", ["output220V"]);
220v電源類
let Voltage220 = function() { }; Voltage220.prototype.output220V = function() { let src = 220; console.log("我是" + src + "V"); return src; }
5v接口
var v5 = new Interface("v5", ["output5V"]);
適配類
let VoltageAdapter = function () { Voltage220.call(this); } // 實(shí)現(xiàn)5v接口 VoltageAdapter.prototype.output5V = function() { let src = this.output220V(); console.log("適配器工作開始適配電壓"); let dst = src / 44; console.log("適配完成后輸出電壓:" + dst); return dst; } extend(VoltageAdapter, Voltage220);
繼承結(jié)構(gòu):
實(shí)現(xiàn)
適配類
let VoltageAdapter2 = function (voltage220) { this.mVoltage220 = voltage220; }; VoltageAdapter2.prototype.output5V = function () { let dst = 0; if (null != this.mVoltage220) { let src = this.mVoltage220.output220V(); console.log("對(duì)象適配器工作,開始適配電壓"); dst = src / 44; console.log("適配完成后輸出電壓:" + dst); } return dst; }
對(duì)象適配器和類適配器其實(shí)算是同一種思想,只不過實(shí)現(xiàn)方式不同。
根據(jù)合成復(fù)用原則,組合大于繼承, 第二種優(yōu)于第一種,它解決了類適配器必須繼承src的局限性問題.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107590.html
摘要:另外,適配器模式和其它幾個(gè)模式可能容易讓人迷惑,這里說一下大概的區(qū)別適配器和橋接模式雖然類似,但橋接的出發(fā)點(diǎn)不同,橋接的目的是將接口部分和實(shí)現(xiàn)部分分離,從而對(duì)他們可以更為容易也相對(duì)獨(dú)立的加以改變。 1. 簡介 適配器模式(Adapter)是將一個(gè)類(對(duì)象)的接口(方法或?qū)傩裕┺D(zhuǎn)化成客戶希望的另外一個(gè)接口(方法或?qū)傩裕?,適配器模式使得原本由于接口不兼容而不能一起工作的那些類(對(duì)象)可以一...
摘要:本文參考于設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式設(shè)計(jì)模式是一套被反復(fù)使用的多數(shù)人知曉的經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。第一個(gè)設(shè)計(jì)模式是適配器模式??偟膩碚f適配器就是的模式,與修飾模式直接無感使用不同,適配器模式使用對(duì)象變?yōu)椤? 本文參考于:設(shè)計(jì)模式課程設(shè)計(jì)模式之適配器模式 設(shè)計(jì)模式是一套被反復(fù)使用的、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼、讓代碼更容易被...
摘要:適配器模式是指將一個(gè)接口轉(zhuǎn)換成客戶端希望的另外一個(gè)接口,該模式使得原本不兼容的類可以一起工作。適配器有種角色目標(biāo)抽象角色定義客戶所期待的使用接口。接口源角色需要被適配的接口。接口適配器角色把源接口轉(zhuǎn)換成符合要求的目標(biāo)接口的設(shè)備。 適配器模式 是指將一個(gè)接口轉(zhuǎn)換成客戶端希望的另外一個(gè)接口,該模式使得原本不兼容的類可以一起工作。舉個(gè)例子:macbook pro有一個(gè)HDMI接口,一條HDM...
摘要:屏幕適配是一個(gè)很容易被忽略的問題,但對(duì)于精益求精的產(chǎn)品而言,是必不可少的。對(duì)于開發(fā)的求職者而言,也是一個(gè)必需要理解清楚的經(jīng)典問題文啃先生壹移動(dòng)端適配的是什么我們討論的是網(wǎng)頁適配多種尺寸屏幕,讓網(wǎng)頁效果看起來和設(shè)計(jì)師的設(shè)計(jì)稿一樣。 屏幕適配是一個(gè)很容易被忽略的問題,但對(duì)于精益求精的產(chǎn)品而言,是必不可少的。對(duì)于Web開發(fā)的求職者而言,也是一個(gè)必需要理解清楚的經(jīng)典問題 文 | 啃先生 Mar...
閱讀 1140·2023-04-26 00:12
閱讀 3295·2021-11-17 09:33
閱讀 1075·2021-09-04 16:45
閱讀 1207·2021-09-02 15:40
閱讀 2196·2019-08-30 15:56
閱讀 2976·2019-08-30 15:53
閱讀 3563·2019-08-30 11:23
閱讀 1944·2019-08-29 13:54