java代理模式

13年前
   闲着无聊,看了看网上的设计模式,自己动手写了个简单的代理模式
   基本思路:既然是代理,肯定是通过代理人去作某件事,代理对象能和委托代理的对象能交互哦,那么我们就来设计的类
    //代理的接口类
   public interface ProxyInter {
 public String getProxyName() throws Exception;
}
  真实需要代理的对象
public class RealObject implements ProxyInter {
 /**  
  * @Function: RealObject.java
  * @Description: 该函数的功能描述
  *
  * @return
  * @throws Exception
  * @return:返回结果描述
  * @throws:异常描述
  *
  * @version: v1.0.0
  * @author: 浪子
  * @date: 2011-8-23 下午10:29:23
  *
  * Modification History:
  * Date         Author          Version            Description
  *---------------------------------------------------------*
  * 2011-8-23     浪子           v1.0.0               修改原因
  */
 public String getProxyName() throws Exception {
   System.out.println("objectReal");
  return "object";
 }
}
   //与其他的对象的交互通过代理类访问,因此代理也实现了共同的接口,也不可以不实现,按道理,真实的实现类,作为代理类的属性,通过访问代理类,代理类访问属性,从而访问真实类,实现代理的目的
public class ProxyInterImpl implements ProxyInter {
  private RealObject realSubject;  
  public ProxyInterImpl()
  {
   realSubject= new RealObject();
  
  } 
 /**  
  * @Function: ProxyInterImpl.java
  * @Description: 该函数的功能描述
  *
  * @return
  * @throws Exception
  * @return:返回结果描述
  * @throws:异常描述
  *
  * @version: v1.0.0
  * @author: 浪子
  * @date: 2011-8-23 下午10:18:42
  *
  * Modification History:
  * Date         Author          Version            Description
  *---------------------------------------------------------*
  * 2011-8-23     浪子           v1.0.0               修改原因
  */
 public String getProxyName() throws Exception {
  System.out.println("ProxyName=");
  realSubject.getProxyName();
  return "Proxy";
 }
 
//代理类访问
 public static void main(String []args) throws Exception
 {
  ProxyInter  proxy=new ProxyInterImpl();
  proxy.getProxyName(); 
 }
}
总结:网上说代理模式好处是在需要用时,才会生成真实对象,至少看我上面的代码,是没体现出来哦!