摘要:適配模式定義適配器模式將某個類的接口轉換成客戶端期望的另一個接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個類可以協同工作。
適配模式
定義:適配器模式將某個類的接口轉換成客戶端期望的另一個接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個類可以協同工作。原有的兩個類由于接口不一, 需要對其中一個類進行適配包裝, 以供與另外的類進行溝通匹配
實現適配模式有兩種, 繼承和橋接, 后者本人更喜歡
繼承結構:
實現
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); } // 實現5v接口 VoltageAdapter.prototype.output5V = function() { let src = this.output220V(); console.log("適配器工作開始適配電壓"); let dst = src / 44; console.log("適配完成后輸出電壓:" + dst); return dst; } extend(VoltageAdapter, Voltage220);
繼承結構:
實現
適配類
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("對象適配器工作,開始適配電壓"); dst = src / 44; console.log("適配完成后輸出電壓:" + dst); } return dst; }
對象適配器和類適配器其實算是同一種思想,只不過實現方式不同。
根據合成復用原則,組合大于繼承, 第二種優于第一種,它解決了類適配器必須繼承src的局限性問題.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107590.html
摘要:本文參考于設計模式課程設計模式之適配器模式設計模式是一套被反復使用的多數人知曉的經過分類編目的代碼設計經驗的總結。第一個設計模式是適配器模式。總的來說適配器就是的模式,與修飾模式直接無感使用不同,適配器模式使用對象變為。 本文參考于:設計模式課程設計模式之適配器模式 設計模式是一套被反復使用的、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了重用代碼、讓代碼更容易被...
摘要:適配器模式是指將一個接口轉換成客戶端希望的另外一個接口,該模式使得原本不兼容的類可以一起工作。適配器有種角色目標抽象角色定義客戶所期待的使用接口。接口源角色需要被適配的接口。接口適配器角色把源接口轉換成符合要求的目標接口的設備。 適配器模式 是指將一個接口轉換成客戶端希望的另外一個接口,該模式使得原本不兼容的類可以一起工作。舉個例子:macbook pro有一個HDMI接口,一條HDM...
摘要:屏幕適配是一個很容易被忽略的問題,但對于精益求精的產品而言,是必不可少的。對于開發的求職者而言,也是一個必需要理解清楚的經典問題文啃先生壹移動端適配的是什么我們討論的是網頁適配多種尺寸屏幕,讓網頁效果看起來和設計師的設計稿一樣。 屏幕適配是一個很容易被忽略的問題,但對于精益求精的產品而言,是必不可少的。對于Web開發的求職者而言,也是一個必需要理解清楚的經典問題 文 | 啃先生 Mar...
閱讀 1123·2023-04-26 00:12
閱讀 3249·2021-11-17 09:33
閱讀 1061·2021-09-04 16:45
閱讀 1186·2021-09-02 15:40
閱讀 2146·2019-08-30 15:56
閱讀 2951·2019-08-30 15:53
閱讀 3548·2019-08-30 11:23
閱讀 1932·2019-08-29 13:54