設計模式 3 介面卡模式

2021-10-05 02:50:43 字數 869 閱讀 6427

問題引入:

何為介面卡模式

介面卡模式的優勢

介面卡模式的使用場景

介面卡模式的**簡單實現

客戶端通過介面卡模式可以簡單,透明的呼叫目標介面實現相應的需求

可以對已存在的類進行復用,避免對已存在的大量的**進行修改,同時可以對新的需求進行擴充套件

將目標類和介面卡進行解耦,解決了目標類和適配類介面不一致的問題

對於一些比較老的專案進行擴充套件開發時,為了不大量的改動先前的**,同時又可以對先前有的部分功能加以復用時,可以採用介面卡模式進行處理

對類中的需求實現不滿足特定的場景需求時,可以加上乙個介面卡類進行進一步的處理,比較好的乙個例子就是vue框架中的computed計算屬性

// 首先將定義乙個adaptee的類

class

adaptee

specificrequest()

}// 定義乙個介面卡類

class

target

request()

` }}// 測試使用:

const target =

newtarget()

target.

request

()

當然,這裡的實現是最簡單的一種方式,希望大家理解的是介面卡模式的乙個理念。

最後做乙個介面卡模式的設計原則分析:

介面卡模式滿足開放封閉原則,對擴充套件開放,對修改封閉,我們使用介面卡的乙個理念就是對於原有的**不進行修改,新增介面卡滿足擴充套件的需求

符合單一職責原則,新增乙個介面卡實現乙個類的擴充套件適配,將類的實際實現和實際的呼叫解耦

關於介面卡模式就說這麼多,大家 加油!!!!

設計模式 3 介面卡模式

介面卡模式將乙個類的介面轉換成客戶希望的另外乙個介面,使得原本由於介面不相容而不能一起工作的那些類可以一起工作。它包括類介面卡和物件介面卡,本文針對的是物件介面卡。舉個例子,在stl中就用到了介面卡模式。stl實現了一種資料結構,稱為雙端佇列 deque 支援前後兩段的插入與刪除。stl實現棧和佇列...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...