设计模式-18-适配器模式

本文深入探讨了适配器模式的原理与应用,讲解了如何通过适配器将不兼容的接口转换为所需形式,使不同类能够协同工作。特别介绍了SpringAOP中的AdvisorAdapter及其三种实现方式。

得心应手的粘合剂。
将一个类的接口转换成客户期待的另外一个类的接口,适配器模式使得原本由于接口不兼容不能一起工作的类可以一起工作了。

一、参与者

Target:需要对接的目标接口
Client:使用Target接口的客户
Adaptee:已经存在的接口,与Target接口无法兼容
Adapter:适配Target接口和Adaptee接口的中间类

二、使用场景

1、你想使用一个已经存在的接口,但是他的接口不符合你的要求
2、你想创建一个可以复用的类,该类可以和其他不想关的类或不可预见的类一起工作
3、你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口,适配器可以适配他的父类接口

三、已有应用

Spring AOP中org.springframework.aop.framework.adapter.AdvisorAdapter
这个接口有三个实现
org.springframework.aop.framework.adapter.MethodBeforeAdviceAdapter
org.springframework.aop.framework.adapter.ThrowsAdviceAdapter
org.springframework.aop.framework.adapter.AfterReturningAdviceAdapter
适配了什么就看这些适配器提供了什么功能:
supportsAdvice()方法提供一个校验是否支持Advice等能力,getInterceptor()方法提供一个从Advisor中提取MethodInterceptor的方法

public interface AdvisorAdapter {
	boolean supportsAdvice(Advice advice);
	MethodInterceptor getInterceptor(Advisor advisor);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值