什么是适配器模式?
将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些累可以在一起工作
模式中的角色
目标接口(target):客户锁期待的接口,目标可以是具体的或抽象的类,也可以是接口需要适配的类(Adaptee):需要适配的类或适配者类适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口
应用场景
1.经常用来做旧系统改造和升级2.如果我们的系统开发之后再也不需要维护,那么很多模式都是没有必要的,但是不幸的是,事实却是维护一个系统的代价往往是开发一个系统的数倍例子:java.io.InputStreamReader(InputStream)java.io.OutputStreamWrite(OutputStream)
代码
需要适配的对象
package factorymode.simplefactory.adapter;public interface SmallPort {// 需要适配的接口public void userSmallPort();}
适配器接口
package factorymode.simplefactory.adapter;public interface BigPort {// 希望使用的接口public void userBigPort();}
适配器
package factorymode.simplefactory.adapter;public class SmallToBig implements BigPort {private SmallPort smallPort;public SmallToBig(SmallPort smallPort) {this.smallPort = smallPort;}@Overridepublic void userBigPort() {this.smallPort.userSmallPort();}}
客户端
package factorymode.simplefactory.adapter;public class Client {public static void main(String[] args) {SmallPort smallPort = new SmallPort() {@Overridepublic void userSmallPort() {System.out.println("使用小口");}};BigPort bigPort = new SmallToBig(smallPort);bigPort.userBigPort();}}
