美文网首页
代理模式

代理模式

作者: 星期天的凌晨 | 来源:发表于2018-11-30 08:34 被阅读0次
一,静态代理

针对于网上大多数静态代理写成装饰者模式(装饰着模式和静态代理的区别https://blog.csdn.net/weixin_35609314/article/details/78913635),做了一下总结:
1,被代理的对象必须是一个类,且必须有父接口或者父类;
2,被代理的类需要增强的方法必须在父类或者父接口中出现;
3,静态代理的使用目的是为了保护和隐藏目标对象,所以代理类的无参构造器中就创建目标对象。

二,缺点:

1,因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多
2,如果代理对象实现的是接口,父接口中增加方法,目标对象与代理对象都要维护
动态代理方式可以解决上述缺点

三,动态代理

也叫jdk代理,java底层封装了实现细节,格式固定,代码简单。直接调用java.lang.reflect.Proxy的静态方法newProxyInstance即可
1,被代理的对象必须是一个类,且必须有父接口;
2,被代理的类需要增强的方法必须在父接口中出现;
static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHandler h )

四,参数:

1,ClassLoader loader,:指定当前目标对象使用类加载器,获取加载器的方法是固定的
2,Class<?>[] interfaces,:目标对象实现的接口的类型,使用泛型方式确认类型
3,InvocationHandler h:事件处理,执行目标对象的方法时,会触发事件处理器的方法,会把当前执行目标对象的方法作为参数传入

相关文章

  • 设计模式

    单例模式 模板方法模式 工厂模式 代理模式 静态代理 JDK动态代理

  • 设计模式

    单例模式 代理模式 静态代理 jdk动态代理 cglib动态代理 工厂模式 适配器模式 建造者模式 观察者模式

  • kube-proxy的3种模式

    userspace代理模式 iptables代理模式 IPVS代理模式 https://kubernetes.io...

  • 第4章 结构型模式-代理模式

    一、代理模式简介 二、代理模式3个角色 三、代理模式的优点 四、代理模式的实例(游戏代练)

  • 理解代理模式

    原创博客地址 简介 代理模式,也叫做委托模式,分为:静态代理动态代理 代理模式也是平时比较常用的设计模式之一,代理...

  • 结构型 代理模式(文末有项目连接)

    1:什么是代理模式 2:没用代理模式时的实例 3:使用代理模式将其解耦(静态代理) 3:使用代理模式将其解耦(动态...

  • 设计模式-动态代理模式

    之前介绍了代理模式,大家也都了解了代理模式,不过之前介绍的代理模式是静态代理,静态代理什么意思?静态代理指的是代理...

  • 代理模式

    一、什么是代理模式 代理模式(Proxy pattern):代理模式又叫委托模式,是为某个对象提供一个代理对象,并...

  • 设计模式之代理模式(Proxy模式)

    代理模式的引入 代理模式的实例程序 代理模式的分析 代理模式的引入 Proxy是代理人的意思,指的是代替别人进行工...

  • Java设计模式之代理模式

    Java设计模式之代理模式 代理模式 静态代理 动态代理 为什么需要代理 通过代理,我们能够不用知道委托人是谁,而...

网友评论

      本文标题:代理模式

      本文链接:https://www.haomeiwen.com/subject/icrccqtx.html