java设计模式
文章平均质量分 81
灰太狼_cxh
不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。
展开
-
WHWW之代理模式(1)-静态代理
What:什么是静态代理?代理就是用于通过对真实对象的封装,对原有业务逻辑的扩充,来实现扩展性。。比如持有二方包的某个类,并调用了其中的某些方法。然后出于某种原因,比如记录日志、打印方法执行时间,但是又不好将这些逻辑写入二方包的方法里。所以可以创建一个代理类实现和二方方法相同的方法,通过让代理类持有真实对象,然后在原代码中调用代理类方法,来达到添加我们需要业务逻辑的目的。由于在程序运行前代理类就已...原创 2018-04-26 23:25:03 · 615 阅读 · 0 评论 -
WHWW之代理模式(2)-动态代理
What:什么叫动态代理?代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的,或者说一个代理类是在程序运行时才获取到目标对象的代理。动态代理又称jdk代理。How:怎么实现动态代理?/** * 抽象角色接口 */public interface Hello { /** * 打招呼 */ void sayHello()...原创 2018-04-27 18:20:36 · 329 阅读 · 0 评论 -
WHWW之代理模式(3)-cglib动态代理
What:什么是cglib动态代理?cglib动态代理是由第三方类库实现的代理,使用要添加cglib jar包,其代理底层是借助asm来实现的。(asm是java虚拟机里面的一种动态生成字节码的技术,跟反射是不同的)How:怎么实现cglib动态代理呢?/** * 目标对象类 */public class Target { public void sayHello() { ...原创 2018-04-29 22:36:59 · 226 阅读 · 0 评论 -
WHWW之代理模式(4)-静态代理,jdk动态代理,cglib动态代理的区别
What:什么是代理模式?代理模式就是可以在不改变目标类的前提下,为目标类额外增加相应的功能。How:怎么实现代理模式?WHWW之代理模式(1)-静态代理WHWW之代理模式(2)-动态代理WHWW之代理模式(3)-cglib动态代理why:为什么会存在多种代理方式呢?因为需求是一个不断迭代的过程,在我们解决需求的同时,我们也会不断的对技术进行更新。我们知道了,静态代理要求目标类和代理类都必须实现...原创 2018-04-29 23:07:23 · 293 阅读 · 0 评论