摘要:適配器模式舊接口格式和使用者不兼容的情況下需要加一個適配轉換接口,無需要改變舊的接口格式電源適配器實現步驟針對類創建一個轉換類類中的初始化中創建一個實例利用類的多態特性覆蓋類的方法代碼實現語法初始化實例覆蓋函數式覆蓋
1. JavaScript 適配器模式
舊接口格式和使用者不兼容的情況下需要加一個適配轉換接口,無需要改變舊的接口格式
eg: 電源適配器
實現步驟針對 A 類創建一個 B 轉換類
B 類中的 constructor 初始化中創建一個實例 instance
利用類的多態特性覆蓋 A 類的方法
代碼實現 class 語法class Plug { constructor(type) { this.type = type } getType() { return this.type } } class Adapter { constructor(oldType, newType) { this.plug = new Plug(oldType) // 初始化實例 this.oldType = oldType this.newType = newType } getOldType() { return this.oldType } getType() { // 覆蓋 return this.newType } } let adapter = new Adapter("hdmi", "typec") let res = adapter.getType() res // typec res = adapter.getOldType() res // hdmi函數式
let hdmi = { getType() { return "HDMI" } } let typeC = { getType() { return "type-c" } } function typeCAdapter(plug) { return { getType() { // 覆蓋 return hdmi.getType() } } } res = typeCAdapter(typeC).getType() res // HDMI
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105831.html
摘要:與其它模式的異同適配器模式不會改變原有接口,這一點與裝飾者模式和代理模式類似。代理模式適配器模式與代理模式最相似,同樣都是創建一個新對象包裝一次,實現對本體的調用。外觀模式外觀模式與適配器模式最大的區別,是定義了一個新的接口。 showImg(https://segmentfault.com/img/bVbul8d?w=800&h=600); 適配器模式:將一個類(對象)的接口(方法或...
摘要:什么是適配器模式適配器模式將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。中的適配器模式在前端項目中,適配器模式的使用場景一般有以下三種情況庫的適配參數的適配和數據的適配。 1 什么是適配器模式 適配器模式(Adapter):將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。 在...
摘要:什么是適配器模式所謂適配器模式就是用一個新的接口對現有的接口進行包裝,處理類與的不匹配。對象適配器可以適配它的父對象接口方法或屬性。裝飾者模式增強了對象的功能而同時又不改變它的接口,因此它對程序的透明度比適配器要好。 什么是適配器模式 所謂 適配器模式 就是用一個新的接口對現有的接口進行包裝,處理類與API的不匹配。使用這種模式的對象又叫作包裝器。比如我們有一個接口: function...
摘要:舊接口格式和使用者不兼容,中間加一個適配器轉換接口。模式作用使用一個已經存在的對象,但其方法或接口不符合你的要求。 原文博客地址:https://finget.github.io/2018/11/22/adapter/ 適配器模式 適配器模式(Adapter)是將一個類(對象)的接口(方法或屬性)轉換成客戶希望的另外一個接口(方法或屬性),適配器模式使得原本由于接口不兼容而不能一起工作...
摘要:與門面模式的聯系本文要說的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說。我們以中的一個為例,說說實際應用中的適配器模式的使用方法。而如果實現層的問題不大,要解決一部分適配問題的話,適配器模式就是很好的選擇了。 與門面模式的聯系 本文要說的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說。它們都對類的接口進行了一些改變。門面模式是把相似的或是完成相關任務的接...
閱讀 794·2019-08-30 15:55
閱讀 1538·2019-08-30 15:52
閱讀 2700·2019-08-30 15:44
閱讀 2112·2019-08-30 11:14
閱讀 2631·2019-08-29 13:59
閱讀 1832·2019-08-29 13:45
閱讀 1019·2019-08-29 13:21
閱讀 3381·2019-08-26 13:31