將一個類的接口轉換成客戶但願的另一個接口。Adapter模式使得本來因爲接口不兼容而不能一塊兒工做的那些類能夠一塊兒工做。java
package com.amosli.dp.structural.adapter; public interface Target { public void request(); } package com.amosli.dp.structural.adapter; /** * 適配器 * * @author amosli * */ public class Adapter implements Target { private Adaptee adaptee = new Adaptee(); @Override public void request() { adaptee.specialRequest(); } } package com.amosli.dp.structural.adapter; public class Adaptee { public void specialRequest() { System.out.println("special..."); } } package com.amosli.dp.structural.adapter; /** * 客戶端 * * @author amosli * */ public class Client { public static void main(String[] args) { Target adapter = new Adapter(); adapter.request(); } }
你想使用一個已經存在的適配器模式,而他的接口不符合你的需求。你想建立一個能夠複用的類,該類能夠與其餘不相關的類或不可預見的類協同工做。你想使用一些已經存在的子類,可是不可能對每個都進行子類化已一匹配他們的接口,對象適配器能夠適配他的父類接口。 適配器如同一個常見的變壓器,也如同電腦的變壓器和插線板之間的電源鏈接線,他們雖然都是3相的,可是電腦後面的插孔卻不能直接插到插線板上。git
適配器模式通常用於對於已有的設計進行銜接,不要在系統設計之初就開始考慮使用適配器模式,儘可能使用其餘模式代替!
github
本系列文章源碼地址,https://github.com/amosli/dp 歡迎Fork & Star !!ide