1.概念

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

2.UML图:

Java之代理模式 (Proxy Pattern)

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

代理服务器

 --------------------------------------------------------------------

PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

--------------------------------------------------------------------

相关文章:

  • 2021-12-02
  • 2021-07-26
猜你喜欢
  • 2021-12-03
  • 2021-12-15
  • 2021-12-19
  • 2021-12-19
  • 2021-05-10
相关资源
相似解决方案