`
anysky131
  • 浏览: 172505 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代理与动态代理

阅读更多

一、代理

所谓代理,就是一个人或者一个机构,代替另一个人或者机构做一件事。相当于windows中的快捷方式。
代理模式的结构:
1、 抽象主题角色:包含了代理主题与真实主题之间共同的接口。
2、 代理主题角色:含有对真实主题角色的引用代理角色,它在处理客户端调用真实主题角色时,可以在返回真实主题之前或者之后加一一些处理方法,而不仅仅是只返回一个对真实主题的引用。
3、 真实主题角色:定义了代理角色代理的真实对象。
//抽象主题接口
public interface Subject {
	public void request();
}
//真实对象主题类
public class RealSubject implements Subject {
	public void request() {
		System.out.println("处理真实主题.....");
	}
}
//代理对象主题类
public class ProxySubject implements Subject {

	// 对真实对象一个引用
	private RealSubject real;

	// 处理真实对象的方法
	public void request() {
		this.preRequest();
		// 执行真实对象中的方法
		real = new RealSubject();
		real.request();
		this.postRequest();
	}

	// 设计一个方法在真实对象之间执行
	public void preRequest() {
		System.out.println("执行在真实对象开始之前....");
	}

	// 设计一个方法在真实对象之后执行
	public void postRequest() {
		System.out.println("执行在真实对象开始之后.....");
	}
}
//测试类
public class Test {
	public static void main(String[] args) {
		Subject proxy = new ProxySubject();
		proxy.request();
	}
}



代理模式这个就可以使在对真实对象执行时,可以进行别的特别的处理,然后提供给客户端。

二、动态代理
分享到:
评论
1 楼 opmic 2010-03-07  
二、动态代理?

相关推荐

Global site tag (gtag.js) - Google Analytics