Java常見設計模式之代理模式

來源:互聯網
上載者:User

標籤:

     指由一個代理主題來操作真實主題,真實主題執行具體的業務操作,而代理主題負責其它相關業務的處理。比如生活中的通過代理訪問網路,客戶通過網路代理程式串連網路(具體業務),由Proxy 伺服器完成使用者權限和訪問限制等與上網相關的其他動作(相關業務)。代理的思想在我們日常生活中無處不在。下面我通過一個簡單的代碼先大致瞭解一下代理的相關內。

     範例程式碼如下:

    

package com.yonyou.test;/** * 建立一個上網的介面 * @author 小浩 * @建立日期 2015-4-6 */public interface Network {  //使用者真正的上網需求  void browse();}

 

package com.yonyou.test;/** * 真正的上網需求類,實現Network介面 * @author 小浩 * @建立日期 2015-4-6 */public class Real implements Network{@Overridepublic void browse() {      System.out.println("您好,目前使用者正在上網操作~~~");}}

 

  

package com.yonyou.test;/** * 建立一個代理介面 * @author 小浩 * @建立日期 2015-4-6 */public class Proxy implements Network{    Network network=null;    //初始化被代理對象public Proxy(Network network){this.network=network;}//模式許可權檢查的操作public void check(){// 類比許可權檢查System.out.println("您好,我們正在檢查目前使用者是否有上網的許可權...");}    @Overridepublic void browse() {//增強操作,類比許可權檢查check();        //使用者真正的操作    network.browse();}}

 

package com.yonyou.test;/** * TreeSet測試類別 * @author 小浩 * @建立日期 2015-4-3 */public class Test{public static void main(String[] args) {//建立代理類Network network=new Proxy(new Real());network.browse();}} 

 

  

 

  

 

  

 

Java常見設計模式之代理模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.