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

Java设计代理模式之代理模式(Proxy Pattern)

2016-05-05 09:11 537 查看
当一组对象实现了一个接口之后,想调用接口中没有的方法,就需要用到代理类,而不是将每个对象中都添加该方法。

1.概念

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

2.UML图:

3.代码:

//抽象角色:

public abstract class Subject

{

abstract public void request();

}

//真实角色:实现了Subject的request()方法。

public class RealSubject extends Subject

{

public void request()

{

System.out.println("From real subject.");

}

}

//代理角色:

public class ProxySubject extends Subject

{

private RealSubject realSubject; //以真实角色作为代理角色的属性

public void request() //该方法封装了真实对象的request方法

{

if( realSubject == null )

{

realSubject = new RealSubject();

}

realSubject.request(); //此处执行真实对象的request方法

}

}

//客户端调用:

Subject sub=new ProxySubject();

Sub.request();

4.应用场景:

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