《大话设计模式--适配器模式》笔记

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

2、当系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器,目地是使控制范围之外的一个原有对象与某个接口匹配。
适配器模式主要有,类适配器和对象适配器模式。

3、适配器模式结构图
在这里插入图片描述
4、简单代码实现

target,客户所期待的接口、抽象类或具体类。

public class Target {

	public void request() {
		System.out.println("普通的请求");
	}
}

adaptee(需要适配的类)

public class Adaptee {
	
	public void specificRequest() {
		
		System.out.println("特殊的请求");
		                                                                                                                                                                                                                                                      
	}

}

Adapter类,在内部包装一个Adatee对象,将源接口转换为目标接口。

public class Adapter extends Target {

	private Adaptee adaptee=new Adaptee();
	
	//表面调用request实际调用specificRequest
	@Override
	public void request() {
		// TODO Auto-generated method stub
		adaptee.specificRequest();
	}
	
}

客户端代码:

public class Client {
	public static void main(String[] args) {
		Target target=new Adapter();
		
		target.request();
	}

}

5、何时使用
1、使用一个已存在的类,如果他的接口,也就是他的方法和你的要求不同时,就应该考虑适配器模式。
2、两个类所做的事相同或相似,但是具有不同的接口时要使用它。
3、客户端可以统一调用同一接口,可以更简单、更直接、更紧凑。
4、双方都不太容易修改时再使用适配器模式适配。
4.1 事后控制不如事中控制,事中控制不如事前控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值