java代理
代理
1.Introduction
代理(proxy),可以说是一种设计模式把,提供了对目标对象的另外一种访问方式,并且最重要的是,访问代理的效果应该和直接访问目标对象的效果没有什么区别,代理就好像是目标对象一样。废话不说,上图:
--------我真受不了 “访问代理类,然后....” 这句话没有和下面的箭头水平
注意这有个前提:
1.代理类得实现和目标类一样的接口
2.编程时采用面向接口编程的习惯,由于Proxy和Target实现了相同的接口,故两者满足接口条件放进方法的参数中去。
废话不说,上图
不管是静态代理还是动态代理,目标类都得有实现的接口。如果目标类没有实现的接口,就是一个POJO,那就使用CGLib生成子类的方法实现
下图是动态代理
废话不说,上代码
可以看出proxy,实现了Flyable,和Divable接口。但是注意了proxy并不是Chinese ,它只是实现了Chinese实现的接口。
注意:我总感觉target.newInstance可以搞些事情,也就是说目标对象实例化这一步,到底怎么走好!!!!!!
--------未完待续,因为我感觉还有好多东西可以挖出来!!!!!