介面卡模式將某個類的介面轉化成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的類的相容問題,約摸有一種亡羊補牢的感覺。主要分三類:類的介面卡模式、物件的介面卡模式、介面的介面卡模式。
1、建立原始類
public class source
}
2、建立介面,目的就是為了相容原始類
public inte***ce target
3、實現介面
public class adapter extends source implements target
}
public class test
}
5、執行後列印結果
source的method1方法
adapter的method2方法
由此可以看出,target介面的實現類 adapter 具有了 source 類的功能,可以說adapter對source做了適配。
基本思路和類的介面卡模式相同,只是將adapter類做修改,此次不再繼承source類,而是持有source類的例項,以達到相容性的問題。
1、以上步驟省略,直接從建立target實現類開始
public class adapter implements target
@override
public void method1()
@override
public void method2()
}
2、測試類如下
public class test
}
3、結果如下
source的method1方法
adapter的method2方法
有時,我們乙個介面中有多個抽象方法,當我們寫該介面的實現類時,必須實現該介面的所有方法,這明顯是比較浪費的。因為並不是所有的方法都是我們需要的,有時可能只需要一兩個。為了解決這個問題,我們引入介面的介面卡模式,借助乙個抽象類,該抽象類實現了該介面的所有的方法,而不和我們原始的介面打交道,只和抽象類之間有聯絡。所有我們需要乙個類,繼承該抽象類,重寫我們需要的方法就可以了。
1、建立抽象類 wraaper 來實現 target 介面
public abstract class wraaper implements target
@override
public void method2()
}
2、建立繼承類
public class s1 extends wraaper
}public class s2 extends wraaper
}
3、建立測試類
public class test
}
介面卡模式相對來說比較簡單,當專案公升級時用到的可能性還是比較大的,故在此一記。。。 介面卡模式(Adapter Pattern)
介面卡模式 adapter pattern 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於介面不相容而不能一起工作的 那些類可以一起工作。target類 這是客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。public class target 需要適配的類 ...
介面卡模式(Adapter Pattern)
介面卡模式 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。生活中的例子 1.在日常生活中我們經常碰見一些無法直接對接的現象,比如自來水管 竹筒 插座等等。這些東西都會由於兩頭沒有乙個標準,導致無法直接連線使用。自來水管從地底下...
介面卡模式(Adapter Pattern)
介面卡模式定義 將乙個類的介面轉換成客戶期望的另乙個介面,介面卡模式讓原本由於介面不相容而無法一起工作的那些類可以一起工作 介面卡模式分為3個組成部分 target 目標類 介面 adapter 介面卡 adaptee 被適配的類 介面 通過adapter的適配,可以像使用target一樣使用ada...