1 /** 2 * @author Rollen-Holt 设计模式之 代理模式 3 */ 4 5 interface NetWork{ 6 public abstract void browser(); 7 } 8 9 /** 10 * Real 类代表用户上网的实际动作,比如查看网页 11 * */ 12 class Real implements NetWork{ 13 public void browser(){ 14 System.out.println("上网浏览信息"); 15 } 16 } 17 18 /** 19 * 此处使用代理类来完成中间代理的工作,屏蔽实现代理的细节 20 * */ 21 class proxy implements NetWork{ 22 private NetWork netWork; 23 24 proxy(NetWork netWork){ 25 this.netWork = netWork; 26 } 27 28 public void browser(){ 29 checkName(); 30 this.netWork.browser(); 31 } 32 33 private void checkName(){ 34 // Other codes 35 } 36 } 37 38 class hello{ 39 public static void main(String[] a){ 40 new proxy(new Real()).browser(); 41 } 42 }