您的位置:首页 > 编程语言 > Java开发

JAVA系列-设计模式-代理模式

2013-11-10 14:29 465 查看
定义:

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

package Proxy;

public interface Object {

void action();
}


package Proxy;

public class ObjectImpl implements Object {

@Override
public void action() {
// TODO Auto-generated method stub
System.out.println("========");
System.out.println("========");
System.out.println("这是被代理的类");
System.out.println("========");
System.out.println("========");
}
}


package Proxy;

public class ProxyObject implements Object {

Object obj;

public ProxyObject() {
System.out.println("这是代理类");
obj = new ObjectImpl();
}

public void action() {
System.out.println("代理开始");
obj.action();
System.out.println("代理结束");
}
}


package Proxy;

/***
* 为其他对象提供一种代理以控制对这个对象的访问。
适用性

1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。
2.虚拟理(VirtualProxy)根据需要创建开销很大的对象。
3.保护代理(ProtectionProxy)控制对原始对象的访问。
4.智能指引(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作。

* @author Administrator
*
*/
public class Test {
public static void main(String args[]){
//代理 Object 类, 其自身实现了Object的接口
Object obj = new ProxyObject();
obj.action();
}
}


运行结果:

这是代理类

代理开始

========

========

这是被代理的类

========

========

代理结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: