设计模式-------代理模式

来源:互联网 发布:类似纳米盒的软件 编辑:程序博客网 时间:2024/05/18 03:44

代理模式,为其他对象提供一种代理以控制这个对象的访问。



代理模式应用:

1、远程代理,也就是一个对象在不同的地址空间提供局部代表,这样做可以隐藏一个对象存在于不同地址空间的事实。

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

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

4、智能指引,当调用真实对象时,代理处理另外一些事。


案例:A通过代理proxy给老李送礼物。



ProxyInterface.java:对象与代理需要做的事情。

public interface  ProxyInterface {void giveGift(String name);}

A.java:实现ProxyInterface接口。

public class A implements ProxyInterface{@Overridepublic void giveGift(String name) {// TODO Auto-generated method stubSystem.out.println("送 "+name+" 礼物!");}}

Proxy.java:代理类,包含A对象实例,和A对象的某些方法。

public class Proxy implements ProxyInterface{private A a;public Proxy(A a){this.a = a;}@Overridepublic void giveGift(String name) {// TODO Auto-generated method stuba.giveGift(name);}}

Main.java:

public class Main {public static void main(String[] args){A a = new A();Proxy proxy = new Proxy(a);proxy.giveGift("老李");}}

运行结果:


0 0
原创粉丝点击