麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

代理角色java設計模式之靜態代理詳細介紹

2019-11-26 16:07:14
字體:
來源:轉載
供稿:網友

    Java動態代理模式
代理:一個角色代表別一個角色來實現某些特定的能功。
   比如:生產商,中間商,客戶這三者這間的關系 
            客戶買產品不并直接與生產商打交道,也用不曉得產品是如何生產的,客戶只與中間商打交道,而中間商便可以對產品行進一些包裝,供提一些售后的服務。

    代理模式有三個角色: 1. 抽象主題角色 2. 代理主題角色 3. 際實被代理角色

   
面下我們來個一個靜態代理的現實。
我以一個坦克為例。


抽象主題角色:Moveable

復制代碼 代碼如下:

package com.gjy.proxy;

    public interface Moveable {
 void move();
}


    代理主題角色:TanktimeProxy
復制代碼 代碼如下:

package com.gjy.proxy;

public class TanktimeProxy implements Moveable{
  private Moveable t;

  public TanktimeProxy(Moveable t) {
   super();
   this.t = t;
  }


  @Override
  public void move() {
   long time1 = System.currentTimeMillis();
   System.out.println("time1="+time1);
   t.move();
   long time2 = System.currentTimeMillis();
   System.out.println("time2="+time2);
   System.out.println("運行間時為:"+(time2-time1));
  }
}


    際實被代理對象:Tank
復制代碼 代碼如下:

package com.gjy.proxy;

public class Tank implements Moveable{

  @Override
  public void move() {
   System.out.println("TanK moving........");
  }

}


    測試:
復制代碼 代碼如下:

package com.gjy.proxy;

public class TestTank {
  public static void main(String[] args) {
   Tank t = new Tank();
   Moveable move = new TanktimeProxy(t);
   move.move();

  }
}

  

    面下我想在TanK的move()方法前后加上日記:

    我必須再寫一個類來現實這一能功:

復制代碼 代碼如下:

package com.gjy.proxy;

public class TanklogProxy implements Moveable{
  private Moveable t;

  public TanklogProxy(Moveable t) {
   super();
   this.t = t;
  }


  @Override
  public void move() {
   System.out.println("start move........");
   t.move();
   System.out.println("end move......");
  }
}


測試:
復制代碼 代碼如下:

package com.gjy.proxy;

public class TestTank {
 public static void main(String[] args) {
   Tank t = new Tank();
   Moveable move = new TanktimeProxy(t);
   Moveable movet = new TanklogProxy(move);
   movet.move();

  }
}


這樣我通過代理在Tank的move()方法前后入加了日記和間時統計的能功,由于TanktimeProxy,TanklogProxy都現實了Moveable口接,所以TanklogProxy可以代理TanktimeProxy,反過來也可以,它們對Tank的代理次序是可以交換的。

如果我想在Tank的move()方法用調的前后入加更多的能功,是否是要寫更多的代理主題角色,這子樣會使得碼代過于癡肥,不易于維護,那有沒有什么方法可以處理呢,案答是可以的,我們可以動態的來成生代理主題角色,來代理全部的被代理對象,這就是動態代理。

文章結束給大家分享下程序員的一些笑話語錄: IBM和波音777
  波音777是有史以來第一架完全在電腦虛擬現實中設計制造的飛機,所用的設備完全由IBM公司所提供。試飛前,波音公司的總裁非常熱情的邀請IBM的技術主管去參加試飛,可那位主管卻說道:“啊,非常榮幸,可惜那天是我妻子的生日,So..”..
  波音公司的總載一聽就生氣了:“膽小鬼,我還沒告訴你試飛的日期呢!”

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品亚洲激情 | 在线成人免费观看 | 国产超碰人人爽人人做人人爱 | 九九精品在线观看视频 | 亚洲午夜在线 | 久久艳片 | 国产精品久久久久久久久久久久久久久 | 国产精品成人一区二区三区电影毛片 | 毛片电影在线看 | 亚洲综合中文 | 一本精品999爽爽久久久 | 黄色免费在线网站 | 欧美一区二区三区不卡免费观看 | 99影视在线视频免费观看 | 成人做爰高潮片免费视频韩国 | 成年免费视频黄网站在线观看 | 27xxoo无遮挡动态视频 | 日韩视频一区二区三区在线观看 | 午夜精品福利视频 | 欧产日产国产精品乱噜噜 | 久久久久女人精品毛片九一 | 吾色视频 | 福利在线小视频 | 国产一国产精品一级毛片 | 国产美女做爰免费视 | 日韩精品中文字幕一区二区三区 | 国产成人精品区 | 久久久电影电视剧免费看 | 91九色福利| 羞羞答答影院 | 一道本不卡一区 | 久久免费视频精品 | 欧美成人一区二区三区 | 亚洲网站免费 | 国产精品一区二区三区99 | 欧美成人se01短视频在线看 | 黄色片在线免费播放 | 天天鲁在线视频免费观看 | 久久蜜桃香蕉精品一区二区三区 | 国产v综合v亚洲欧美久久 | 久久狂草 |