Adapter模式
将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能在一起工作的类可以一起工作
Adaptee.java
package com.gary.designpattern.adapter;/** * 需要适配的目标 * @author gary * */public interface Adaptee {public void doSomethingSpecial();}
?
AdapteeImpl.java
package com.gary.designpattern.adapter.impl;import com.gary.designpattern.adapter.Adaptee;/** * 需要适配的类 * @author gary * */public class AdapteeImpl implements Adaptee{@Overridepublic void doSomethingSpecial(){System.out.println("do something special");}}
?
Target.java
package com.gary.designpattern.adapter;/** * 客户所期待的接口,也可以是类 * @author gary * */public interface Target {public void doSomething();}
?
TargetImpl.java
package com.gary.designpattern.adapter.impl;import com.gary.designpattern.adapter.Target;/** * 客户所期待的接口实现,也可以是类 * @author gary * */public class TargetImpl implements Target{@Overridepublic void doSomething(){System.out.println("do something");}}
?
Adapter.java
package com.gary.designpattern.adapter;import com.gary.designpattern.adapter.impl.AdapteeImpl;/** * 定义一个Adaptee对象,把原接口转换成目标接口 * @author gary * */public class Adapter implements Target{private Adaptee adaptee = new AdapteeImpl();@Overridepublic void doSomething(){adaptee.doSomethingSpecial();}}
?
Test.java
package com.gary.designpattern.adapter;public class Test {public static void main(String[] args) {Target target = new Adapter();target.doSomething();}}
?
1 楼 eric_shi 2011-02-11 lz 头像很可爱 文章很简言易懂