配器模式將乙個類的介面適配成使用者所期待的
場景:現在手機的資料介面有兩種type-c和micro-usb,加入你現在有乙個micro-usb的資料線,想給乙個type-c介面的手機充電或者傳輸資料,這時你就需要乙個介面卡了;方式這裡介紹兩種介面卡設計方式:
設計
物件介面卡
類介面卡
實現
公共**:
目標介面 typec介面
public inte***ce typec
源介面 microusb
public inte***ce microusb
源 microusb資料線
@slf4j
public class microusbcable implements microusb
@override
public void electric()
}
使用者 typec介面手機
public class typecphone
public void datatransfer(typec typec)
}
######1、類介面卡
public class microusbtotypecadapter extends microusbcable implements typec
@override
public void electric()
}
######2、物件介面卡
public class microusbtotypecadapter implements typec
@override
public void usb3data()
@override
public void electric()
}
經典使用jdk中inputstreamreader和outputstreamwriter分別實現了,reader和writer介面,建立例項時,分別需要傳入inputstream和outputstream物件,這是乙個典型的物件介面卡;
將inputstream和outputstream的源適配成reader和writer的目標
設計模式入門 介面卡模式
歐洲的插座和美式的介面不同,買了美式的電腦,如何在歐洲使用,這就需要乙個介面卡。不改變原來物件的介面,而實現想轉換成的型別的介面。以鴨子為例,現在有乙隻火雞也想接收針對鴨子的請求。鴨子介面 public inte ce duck 綠頭鴨是鴨子的子類 public class mallardduck ...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...