java代理

来源:互联网 发布:清北学霸 知乎 编辑:程序博客网 时间:2024/06/16 12:27

代理

1.Introduction
代理(proxy),可以说是一种设计模式把,提供了对目标对象的另外一种访问方式,并且最重要的是,访问代理的效果应该和直接访问目标对象的效果没有什么区别,代理就好像是目标对象一样。废话不说,上图:



--------我真受不了 “访问代理类,然后....” 这句话没有和下面的箭头水平


注意这有个前提:
1.代理类得实现和目标类一样的接口
2.编程时采用面向接口编程的习惯,由于Proxy和Target实现了相同的接口,故两者满足接口条件放进方法的参数中去。


废话不说,上图

不管是静态代理还是动态代理,目标类都得有实现的接口。如果目标类没有实现的接口,就是一个POJO,那就使用CGLib生成子类的方法实现


下图是动态代理


废话不说,上代码


可以看出proxy,实现了Flyable,和Divable接口。但是注意了proxy并不是Chinese ,它只是实现了Chinese实现的接口。



注意:我总感觉target.newInstance可以搞些事情,也就是说目标对象实例化这一步,到底怎么走好!!!!!!


--------未完待续,因为我感觉还有好多东西可以挖出来!!!!!



原创粉丝点击