概述:这种设计模式比较简单,简单举个例子,我想要吃早点,但是了我又不想起床自己去买,怎么办了?这时候我的好基友的作用就体现出来了,我叫他帮我去买,这个好基友了其实就是充当的代理的身份,他代替我去帮我买早餐。
具体实例:
package home.yhs.design; public class ProxyDesignTest { public static void main(String args[]){ Me me = new Me("想吃早饭但是自己又不想买"); Friend proxy = new Friend(me);//通过构造方法告诉朋友我想吃早饭这个消息 proxy.buyBreakfeast();//朋友帮我买早饭 } } interface Breakfeast { public void buyBreakfeast(); } class Me implements Breakfeast { Me(String str){ } @Override public void buyBreakfeast() { System.out.println("买早餐"); } } //朋友就相当于代理 class Friend implements Breakfeast { private Me me; Friend(Me me) { this.me = me; } @Override public void buyBreakfeast() { System.out.print("朋友帮我"); me.buyBreakfeast(); } }
注意:该模式需要注意的就一点,代理类(Friend)里面需要包含委托类的引用