標籤:
指由一個代理主題來操作真實主題,真實主題執行具體的業務操作,而代理主題負責其它相關業務的處理。比如生活中的通過代理訪問網路,客戶通過網路代理程式串連網路(具體業務),由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常見設計模式之代理模式