java框架学习日志-7(静态代理和JDK代理)
某厂面试归来,发现自己落伍了!>>> 静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理模式需要三个东西: 真实对象——厨师(chef),用户真正需要去用到的对象。 调用者——客人(Client),需要用到真实对象的对象。 代理对象——服务员(waiter),代理真实对象与调用者沟通的对象。 厨师需要有个炒菜的方法,服务员负责代理厨师,所以也需要有一个炒菜方法,为了保证两个对象的炒菜方法一致,需要一个接口。 public interface Cook { public void cook(String name);//传入菜品名字 } 然后chef实现这个接口 public class Chef implements Cook{ @Override public void cook(String name) { System.out.println("正在炒"+name); } } waiter也需要实现这个接口 public class Waiter implements Cook{ Chef chef; public Waiter(Chef chef) { //通过构造函数与获取chef的实例对象 this.chef = chef; }