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

由于Advisor链需要的是MethodInterceptor(拦截器)对象,所以每一个Advisor中的Advice都要适配成对应的MethodInterceptor对象。
FutureTask
FutureTask间接同时实现了Future接口和Runnable接口,提供了一种异步可取消执行任务的机制。该类支持执行的任务最后完成后返回一个结果。
FutureTask提供了两种构造器,如下:
- public FutureTask(Callable callable){…}
- public FutureTask(Runnable runnable, V result) {…}
在FutureTask内部,将第二种构造器中的Runnable对象最终还是转换为了Callable对象,方式如下:

可以看到适配器并不一定要实现目标接口,SpringAop这个例子就没有,他们的共同特点在于适配器类能够将原始类转化为目标内,做到这个目的就够了。
本文介绍了适配器设计模式,它能将类的接口转换成客户期望的接口,使不兼容的类一起工作。还阐述了该模式在Spring AOP中,将Advice适配成MethodInterceptor对象;在FutureTask里,把Runnable对象转换为Callable对象,体现了适配器类转化原始类的作用。
2774

被折叠的 条评论
为什么被折叠?



