首页 > 代码库 > 代理模式

代理模式

技术分享


技术分享


从用户的角度上看:知道代理对象就可以了

从实现的者的角度:需要将真正的实体包裹在代理对象里面,并且代理对象和被代理的对象要实现相同的接口。

 

package com.dp.proxy;

public interface ISubject {
     void request(); 
}
package com.dp.proxy;

/**
 * 被代理的对象
 * @author 黄二狗
 *
 */
public class RealSubject implements ISubject {

    @Override
    public void request() {
      System.out.println("我是被代理的对象");
    }
  
}
package com.dp.proxy;

/**
 * 代理对象
 * @author 黄二狗
 *
 */
public class Proxy implements ISubject{

     private RealSubject realSubject;
    @Override
    public void request() {
       if(realSubject==null)
       {
           realSubject=new RealSubject();
       }
       realSubject.request();
    }
  
}
package com.dp.proxy;

/**
 * 只知道代理对象就可以了
 * @author 黄二狗
 *
 */
public class Client {
 public static void main(String[] args) {
    Proxy proxy=new Proxy();
    proxy.request();
}
}

技术分享

 

代理模式