首页 > 代码库 > 【设计模式01】Adapter适配器模式完全解析

【设计模式01】Adapter适配器模式完全解析


: 适配器模式(Adapter)

: km

: 2015.1.29

 

(一)那是神马

1,官方定义

将一个类的接口转成客户端需要的另外一个接口。

Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作.

2,我的理解

这个词最早在电工学里,有些国家用110V电压,而我们国家用220V;

你的笔记本不能任何电压都OK,所以出现了适配器,把不同的电压转换成笔记本可用的电压。

3,一些补充:

软件开发中,对系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器;

目的是使控制范围之外的一个原有对象与某个接口匹配。

 

(二)何时用Adapter
一般不会有哪个设计师,在开始设计的时候就考虑用这种模式;大多在后期维护,出现接口不同,但功能很相似的时候,可以考虑用Adapter.

(三)举个栗子(此图摘自大话设计书中)

技术分享

Adaptee类的代码

/**

 * 以前的类(需要适配)

 */

class Special {

public void specialRequest() {

System.out.println("以前的请求!");

}

}

 

Target类的代码

/**

 * 目标类

 */

class Target {

protected void request() {

System.out.println("现在的请求!");

}

}

Adapter类的代码

/**

 * 适配器:适配模式

 */

class Adapter extends Target {

private Special special;

 

public Adapter() {

special = new Special();

}

 

protected void request() {

special.specialRequest();

}

}

看看怎么运行的(客户端代码)

/**

 * 最基础Adapter的Demo

 */

public static void main(String[] args) {

Target target = new Adapter();

target.request();

}

--------------------------------

运行结果:以前的请求!

--------------------------------


亲们,第一次自己总结这个,肯定有不足之处,有好的建议请告诉我! 灰常感谢!


【设计模式01】Adapter适配器模式完全解析