《原神攻略》蒙德特產風車菊採集路線

1.概念

 2.使用代理模式的作用

 3. 實現代理的方式

  1. 靜態代理

    1)代理類是自己手工實現的,自己建立一個java類表示代理類

    2)同時你所要代理的目標類是確定的。

    優點:  實現簡單 容易理解

    缺點:1)當目標類增加了,代理類可能也需要成倍的增加

        2)當你的介面中的功能增加了 或者修改了 會影響眾多的實現類

    示例:模擬使用者購買u盤

      使用者:客戶端類 

      廠家:目標類 

      商家:代理類 代理某個品牌的u盤。 

    程式碼:  

/*

    實現步驟:
1.建立介面 定義賣u盤方法 表示你的廠家和商家做的事情
2. 創建廠家類 實現1介面
3. 建立商家代理類 實現1介面
4. 建立客戶端類 呼叫商家方法買1個u盤
*/

publicinterface UsbSell {

// amount:一次購入的數量 返回值表示1個u盤的價格

float sell(int amount);

// 還可以定義多個其它方法

}

// 目標類:金士頓廠家 不接受使用者單獨購買

publicclass UsbKingFactory implements UsbSell{

@Override

publicfloat sell(int amount) {

// 一個u盤85.0

// 後期根據amount可以實現不同的價格

return 85.0f;

}

}

// 商家 代理金士頓u盤的銷售

publicclass TaoBao implements UsbSell{

// 宣告 商家代理的廠家具體是誰

private UsbKingFactory factory = new UsbKingFactory();

@Override

publicfloat sell(int amount) {

// 向廠家傳送訂單

float price = factory.sell(amount);

// 商家需要加價

price = price+5;

// 這裡可以新增其它程式碼 進行功能增強

return price;

}

}

publicclass ShopMain {

publicstaticvoid main(String[] args) {

// 代理物件 淘寶

TaoBao taoBao = new TaoBao();

float price = taoBao.sell(1);

System.out.println("通過商家淘寶 購買u盤單價:"+price);

}

}

      代理類完成的功能

      1. 目標類中方法的呼叫(控制訪問)

      2. 功能增強

  2. 動態代理

    優點:避免靜態代理的缺點。目標類即使很多 代理類數量可以很少 當你修改了介面中的方法時,不會影響代理類。

    概念:在程式執行過程中,使用jdk反射機制,建立代理類,並動態指定要代理的物件。 即你不用手動建立TaoBao類就能建立代理物件

       

     分類:

        

         

      JDK動態代理

      

         

         

以上是 《原神攻略》蒙德特產風車菊採集路線 的全部内容, 来源链接: utcz.com/yxgl/576315.html

回到顶部