案列
設(shè)計圖
代碼
通用類圖
1.含義:
將一個借口轉(zhuǎn)換成客戶端需要的接口惦积,讓原本兩個無關(guān)的類在一起工作
2.設(shè)計圖
3.角色說明
目標(biāo)對象:你希望將源對象轉(zhuǎn)換成什么對象五芝,那這個對象就是目標(biāo)對象。
源對象:你想將什么對象轉(zhuǎn)換成目標(biāo)對象刊咳,那這個對象就是源對象彪见,源對象一般是運行良好的類或者對象。
適配器對象:將源對象轉(zhuǎn)換成目標(biāo)對象娱挨,采用繼承或者關(guān)聯(lián)的方式
4.代碼
1.目標(biāo)對象接口
/**
* Created by Administrator on 2019/4/9.
* 目標(biāo)對象
*/
public interface Target {
void request();
}
2.具體目標(biāo)對象
* @ClassName ConcreteTarget
* @Description TODO 具體目標(biāo)對象
* @Author Administrator
* Date 2019/4/11 11:31
* Version 1.0
*/
public class ConcreteTarget implements Target{
@Override
public void request() {
System.out.println("if need help please call me");
}
}
3.源對象
/**
* Created by Administrator on 2019/4/9.
* 源對象:一個正在投產(chǎn)中的類或者接口余指,新建的類也可以
*/
public class Adaptee1{
public void spesificRequest1() {
}
}
4.轉(zhuǎn)換器
/**
* Created by Administrator on 2019/4/9.
* 適配器類,一對多個源對象跷坝,采用引用的方式酵镜。
*/
public class Adapter implements Target{
private Adaptee1 adaptee1=new Adaptee1();
@Override
public void request() {
adaptee1.spesificRequest1();
}
}
優(yōu)勢
1.將原本兩個沒有關(guān)聯(lián)的類聯(lián)系在一起工作。
2.提高代碼復(fù)用柴钻。
3.靈活程度高淮韭,不需要的時候可以隨時去掉。
使用場景
1.適配器模式適用于后期補救項目贴届,前期設(shè)計的時候不要采用這個模式