适配器模式
* @author Administrator
*优点:
* 1、适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们就行
* 2、增加了类的透明性
* 3、提高了类的复用度
* 4、灵活性非常好
*使用场景:
* 你有动机修改一个已经投产中的接口时,适配器模式可能是最适合你的模式。比如:系统扩展了,需要使用一个
* 已有的或者新建立的类,但是这个类又不符合系统的接口,使用适配器模式。
*
*注意事项:
* 1、适配器模式最好的详细设计阶段不要考虑他,他不是为了解决还处在开发阶段的问题,而是解决正在服役的项目
* 问题,没有一个系统分析师会在详细设计的时候考虑
* 2、使用适配器模式,这个模式主要使用场景是扩展应用中。系统扩展了,不符合原有的设计的时候才考虑通过适配
* 器模式减少代码的修改带来的风险。
*
*最佳实践:
* 适配器模式是一个补偿模式,或者说是一个‘补救’模式,通常用来解决接口不相容的问题,在百分之百的完美设计中
* 不可能使用的到。
// 目标角色
interface Target {
// 目标角色有自己的方法
public void request();
}
// 目标角色的实现类
class ConcreateTarget implements Target {
@Override
public void request() {
System.out.println("if you need any help, pls call me!");
}
}
// 源角色
class Adaptee {
// 原有的业务逻辑
public void doSomething() {
System.out.println("I am kind of busy , leave me alone ,pls!");
}
}
// 适配器角色
class Adapter extends Adaptee implements Target {
@Override
public void request() {
super.doSomething();
}
}
public class Main {
public static void main(String[] args) {
// 原有的业务逻辑
Target target = new ConcreateTarget();
target.request();
// 增加了适配器角色的业务逻辑
Adapter target2 = new Adapter();
target2.request();
}
}