为了账号安全,请及时绑定邮箱和手机立即绑定

模式的秘密---代理模式

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰
  • 动态代理
    查看全部
  • aop 面向切面编程
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-28

  • aop
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-22

  • 代理模式
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-18

  • 两种实现方式
    查看全部
  • JDK动态代理是首先对象已经实现了某些接口,它是这样一种class: 它是在运行时生成的class,该class需要实现一组interface,使用动态代理类时,必须实现InvocationHandler接口。 动态代理实现的步骤: 1,创建一个实现接口InvocationHandler的类,它必须实现invoke方法;(本视频中就是TimeHandler类了) 2,创建被代理的类以及接口 (就是在另外一个静态包里面以及定义过的Moveable和Car类了,被调用过来了) 3,调用Proxy的静态方法,创建一个代理类: newProxyInstance(ClassLoader loader,Class[] interface,InvocationHandler h); (就是这个) 4,通过代理调用方法 (m.move)
    查看全部
  • 在静态代理中使用继承的方式不够灵活,会出现改变需求的时候就要重新的改变。 使用聚合的方式可以将单个不同的需求放在类中,在使用的时候重新聚合,这样比较方便,而且耦合性很低。
    查看全部
  • 代理模式 1、概念:为其他对象提供一种代理,以控制对这个对象的访问(例如火车站代售处)。代理对象起到中介作用,可去掉功能服务或增加额外的服务。 代理模式的分类: 远程代理模式:为不同地理的对象提供局域网代表对象(例子:通过远程代理可以监控各个店铺,使之可以直观的了解店里的情况) 虚拟代理:根据需要将资源消耗很大的对象进行延迟,真正需要的时候进行创建 保护代理:控制用户的访问权限 智能引用代理:提供对目标对象提供额外的服务(火车票代售处)
    查看全部
  • jdk实现了某些接口的动态类动态方法
    查看全部
  • 333
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-12

  • 222
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-12

  • 111
    查看全部
    0 采集 收起 来源:课程总结

    2017-03-12

  • JDK动态代理与CGLIB动态代理之间的区别
    查看全部
  • 总结:【动态代理】 1.被代理对象首先要实现某些接口 2.它在运行时生成class对象(代理类),该class需要实现一组interface 3.产生的代理类并不能做什么事情,必须实现InvocationHandler接口来接管实际的工作 4.想实现的功能是在handler中去实现的 JDK动态代理 1. 目的:动态产生代理,实现对【不同类】,【不同方法】的代理 2. java动态代理类,位于java.lang.reflect包下,一般涉及两个类: (1)Interface InvocationHandler:该接口中仅定义了一个方法public object invoke(Object obj,Method method,Object[] args) 参数: obj:被代理类的对象 method:被代理的方法 args:被代理方法参数数组 返回值: Object:方法返回值 (2)Proxy:该类即为动态代理类: static Object newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h) 参数: loader:被代理类的类加载器,通过被代理类.getClass().getClassLoader()得到 interfaces:实现的接口,通过getClass().getInterfaces()得到 h:invocationHandler 返回值: 返回代理类的一个实例 3. 动态代理实现: (1) 创建一个代理h实现InvocationHandler接口,通过【构造方法接受被代理类】,并实现invoke方法,添加业务逻辑(实现原有功能并添加额外功能) (2) 在测试类中,通过共同实现接口的实例获得代理对象,并实现方法,如Interface1 i = (Interface1)Proxy.newProxyInstance(classLoader,classInterfaces,h); (3) 通过动态代理对象i,调用其方法i.move();
    查看全部
  • 动态代理
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!