介面卡模式是將乙個介面轉換成另乙個介面,將原本不能相容使用的介面變成可以使用的一種手段;
可以將原本不能用的介面,變成可用的介面;
最主要的特點就是轉換器;
主要是用來做復用,如果已經有乙個很好的功能,但因為介面不同而重寫這個功能那就太浪費了;
所以用介面卡後可以復用一些穩定的功能;
通常介面卡是乙個實現類,通過建立物件,將介面卡建立出來,並將要適配的物件傳入給介面卡!
兩步完成:
1.介面卡類實現要使用的介面
2.再介面卡中引用不相容的介面類;
優點:更好的復用性
更好的擴充套件性
缺點:如果介面卡用的過多,會讓人感覺系統很亂,不容易整體進行把握
電源介面:
public inte***ce power
電源實現:
public class powerimpl implements power
}
慢速硬碟介面:
public inte***ce slowdisk
慢速硬碟實現:
public class slowdiskimpl implements slowdisk
private void check()
} @override
public void writer()
@override
public void power(boolean isready)
}
客戶端類:
public class client
}
以上的**是乙個完整的電源連線硬碟的例子;隨著技術的進步,出現了一種新的硬碟,快速硬碟,但是因為快速硬碟和慢速硬碟的型別不同,所以要使用介面卡才能使用!
下面就是介面卡實現的**:
快速硬碟介面:
public inte***ce fastdisk
快速硬碟實現:
public class fastdiskimpl implements fastdisk
private void check()
} @override
public void writer()
@override
public void power(boolean isready)
}
介面卡類:
介面卡類的兩個特點:
介面卡類要實現要使用的介面
介面卡類要引用要轉換的介面
/**
* 介面卡原則:
* 實現和繼承power能支援的型別這裡是slowdisk
* 引用新的fastdisk
* * @author ww
* */
public class diskadapter implements slowdisk
@override
public void read()
@override
public void writer()
@override
public void power(boolean isready)
}
新的客戶端使用方法:
public class newclient
}
致此,完成了對介面卡模式的**實現! 設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式 介面卡模式(二)
使用場景和原則 當系統的資料和行為都正確,但介面不符合時,我們應該考慮用介面卡。介面卡主要應用於希望復用現存的類,但是介面又與復用環境要求的不一致。就是說,兩個類所做的事相同或者相似,但是具有不同的介面,這也是一種迫於無奈,雙發都不太容易修 改的時候。一般情況下,盡可能的前期不考慮介面卡,當然了,如...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...