java代理模式

chyx413332087 13年前發布 | 1K 次閱讀
   閑著無聊,看了看網上的設計模式,自己動手寫了個簡單的代理模式
   基本思路:既然是代理,肯定是通過代理人去作某件事,代理對象能和委托代理的對象能交互哦,那么我們就來設計的類
    //代理的接口類
   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(); 
 }
}
總結:網上說代理模式好處是在需要用時,才會生成真實對象,至少看我上面的代碼,是沒體現出來哦!
   
 本文由用戶 chyx413332087 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!