标签:
代理设计模式是接口的应用之一,一个代理操作,一个真实操作。Runnable接口实现线程就是应用代理设计模式,如图:
以找中Jie租房为例的代理设计模式代码:
public class ProxyDemo { public static void main(String[] args) { RentHouse rent = new RentCompany(new RealRent()); rent.house("小心黑ZhongJie"); rent.house("租房贵"); } } interface RentHouse {//租房 public void house(String url); } class RealRent implements RentHouse { public void house(String url) { System.out.println("北京:" + url); } } class RentCompany implements RentHouse { private RentHouse r;//保存真正租房操作 public RentCompany(RentHouse r) { this.r = r; } public boolean check(String url) { if (url.contains("黑ZhongJie")) { System.out.println("不能租房"); return false; } return true; } public void house(String url) { if (this.check(url)) {// 通过检查了 this.r.house(url);//真实操作 } } }
租房接口下有两个操作,一个真实租房操作,一个是中Jie公司。我们只需要租到房子就行,而租房的各种流程都交给中Jie公司处理,不用我们关心。即是说,代理操作处理复杂业务,真实操作处理核心业务,二者分开
标签:
原文地址:http://www.cnblogs.com/wujinsen/p/4630733.html