适配器设计模式

2019, Sep 16    

适配器设计模式

适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式有三个角色

目标角色

我们的期望接口,是一个已经在正式运行的角色

public interface Target {
	// 目标角色有自己的方法
	public void request();
}

// 目标角色的实现类
public class ConcreteTarget implements Target {
	public void request() {
		System.out.println("if you need any help,pls call me!"); 
    }
}

源角色

被转换的接口

	public class Adaptee {
		//原有的业务逻辑
		public void doSomething(){
			System.out.println("I'm kind of busy,leave me alone,pls!");
		}
}

适配器角色

把源角色转换为目标角色:继承+实现

public class Adapter extends Adaptee implements Target {
    // 目标角色自己现有的方法
	public void request() {
		super.doSomething();
	}
}

测试

public class Client {
	public static void main(String[] args) {
		//原有的业务逻辑
		Target target = new ConcreteTarget();
		target.request();
		//现在增加了适配器角色后的业务逻辑
		Target target2 = new Adapter();
		target2.request();
	}
}