Java之代理模式 (Proxy Pattern)

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.应用场景:

代理服务器

posted @ 2012-05-13 17:04  精灵博客园  阅读(157)  评论(0)    收藏  举报