设计模式笔记——Proxy

代理模式Proxy

 

为其他对象提供一种代理以控制对这个对象的访问。代理模式就是访问对象的时候引入一定程度的间接性,因为这种间接性,可以附加多钟用途。

 

远程代理:为一个对象再不同的地址空间提供局部代表,这样可以隐藏一个对象存在不同于地址空间的事实。

 

虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。

 

安全代理,用来控制真实对象访问时的权限。

 

智能指引,当调用真是对象的时候,代理处理另外的一些事情。

 

 

package proxy.pattern;

public interface Subject {

	public void Reqeust();
}

package proxy.pattern;

public class Proxy implements Subject {

	private RealSubject realSubject;

	@Override
	public void Reqeust() {
		// TODO Auto-generated method stub

		if (realSubject == null) {
			realSubject = new RealSubject();
		}
		realSubject.Reqeust();
	}

}

package proxy.pattern;

public class RealSubject implements Subject {

	@Override
	public void Reqeust() {
		// TODO Auto-generated method stub

		System.out.println("Real Request!");
	}

}

package proxy.pattern;

public class ProxyPattern {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Proxy proxy=new Proxy();
		proxy.Reqeust();
	}

}


posted @ 2012-08-19 21:45  Leeforall  阅读(165)  评论(0)    收藏  举报