美文网首页
设计模式-代理模式

设计模式-代理模式

作者: 老汉健身 | 来源:发表于2018-06-18 21:41 被阅读8次

    1.代理模式的分类:

    代理模式分为:

    虚拟代理:比如网页加载后可以先用一张事先准备好的图片代替要加载的图片,使网页内容先加载出来,等图片加载完成后再用该图片代替事先准备好的图片.

    智能代理:比如火车站售票的代理

    远程代理:比如通过网络监控远程的好几家便利店

    保护代理:比如用户登录后才具有某些权限 未登录只能浏览 对资源是一种保护

    2.代理的两种实现模式

    动态代理:

    静态代理:

    3.实现代理的两种方式

    继承和聚合两种方式都能实现代理,但聚合更适合

    4.JDK动态代理

    实现步骤:

    1.编写一个实现类,实现InvocationHandler,然后把需要代理的业务逻辑添加到invoke方法中.

    public  object invoke (Object object ,Method method,Object[] args).其中object为代理类,method为被代理的方法,args是指该方法的参数数组.

    2.创建动态代理:Proxy.newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)

    5.总结:代理模式实际上是一种aop操作,虽然我们不能直接修改JDK源码,但我们可以通过代理模式把JDK的源码提供的方法通过代理模式增强,添加业务逻辑,使之满足业务需要.

    相关文章

      网友评论

          本文标题:设计模式-代理模式

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