2008-04-23

适配器(Adapter)模式(包装模式)

关键字: 适配器(adapter)模式(包装模式)
适配器(Adapter)模式也叫包装模式,主要有两种实现形式:
A:类适配器模式
B:对象适配器模式

都有三种角色
1:Target:供客户端调用
2:Adaptee:具体调用角色
3:Adapter:包装角色



A:类适配器模式
package com.pattern.adapter.classadapter;
/**
 * 客户端要使用的目标类
 *
 */
public interface Target {
	
	public void method1();

}


package com.pattern.adapter.classadapter;

public class Adaptee {
	
	public void method2(){
		System.out.println("执行...");
	}

}


package com.pattern.adapter.classadapter;
//继承Adaptee类
public class Adapter extends Adaptee implements Target {

	//包装类
	public void method1() {
		this.method2();
	}

}


package com.pattern.adapter.classadapter;
//适配器模式也叫包装模式
public class Client {
	//类适配器模式
	public static void main(String[] args){
		Target target = new Adapter();
		target.method1();
	}

}



B:对象适配器模式

package com.pattern.adapter.objectadapter;
/**
 * 客户端要使用的目标类
 *
 */
public interface Target {
	public void method1();
}


package com.pattern.adapter.objectadapter;

public class Adaptee {
	
	public void method2(){
		System.out.println("执行...");
	}

}


package com.pattern.adapter.objectadapter;

//不继承Adaptee类
public class Adapter implements Target {

	private Adaptee adaptee ;
	public Adapter(Adaptee adaptee){
		this.adaptee = adaptee;
	}
	
	public void method1() {
		adaptee.method2();
	}

}


package com.pattern.adapter.objectadapter;
//适配器模式也叫包装模式
public class Client {
	//对象适配器模式
	public static void main(String[] args){
		Target target = new Adapter(new Adaptee());
		target.method1();
	}

}

评论
发表评论

您还没有登录,请登录后发表评论

ttitfly
搜索本博客
我的相册
63e97aa5-d2de-33be-88c3-8f39d5279b8d-thumb
bbbb
共 3 张
存档
最新评论