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

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

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰
  • 动态代理实现步骤
    查看全部
  • 设计模式——代理模式——静态代理的概念 一、静态代理 1、静态代理:代理和被代理对象在【代理之前】都是【确定】的。他们都实现【相同的接口或者继承相同的抽象类】 2、代理实现方法: (1)继承法:代理类直接【继承】被代理类,实现其原有方法,并添加一些额外功能 (2)聚合方法:代理类实现【相同的功能接口:很重要,事项相同接口,不同代理也可以进行相互代理】,并在内声明一个被代理类的对象(类似封装),通过内部对象实现其原有方法,并添加额外功能
    查看全部
  • 代理模式基础:面向对象设计思维;多态概念;反射机制 代理模式:为其他对象提供一种代理,以控制对这个对象的访问 常见代理模式:远程代理;虚拟代理;保护代理;智能引用代理 远程代理:总店查询分店的情况 虚拟代理:加载资源,先虚拟一个对象 保护代理:客户可以浏览,但是删除、评论必须注册才能进行 智能代理:车票代售点,增加额外服务,限制某些特定功能,如退票,改签等
    查看全部
  • JDK动态代理和CGLIB动态代理
    查看全部
  • load到内存: ClassLoader cl = ClassLoader.getSystemClassLoader(); Class c = cl.loadClass("xx.xx.xx$Proxy0");
    查看全部
  • JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileMgr = compiler.getStandardFileManager(null, null, null); Iterable units = filrMgr.getJavaFileObjects(fileName); CompilationTask task = compiler.getTask(null, fileMgr, null,null.null,units); task.call(); fileMgr.close();
    查看全部
  • (重要)自己实现JDK的动态代理: 1. 声明一段源码(java的文件名要注意--$Proxy0) 2. 编译源码,产生新的类() 3. 将这个类load到内存当中,产生一个新的对象() 4. return代理对象
    查看全部
  • JDK的DPb步骤: 1. 创建一个实现接口invocationhandler的类,它必须实现invoke方法 2. 创建被代理的类以及接口 3. 调用Proxy的静态方法,创建一个代理类: newProxyInstance 4. 通过代理调用目标方法
    查看全部
  • 所谓Dynamic Proxy是这样一种class: 它是在运行时生成的class 该class需要实现一组interface 使用动态代理类时,必须实现invocationhandler接口
    查看全部
  • 动态产生代理,实现对不同类,不同方法的代理。 JDK动态代理 xxxHandler implements InvocationHandler Moveable m = (Moveable)Proxy.newProxyInstance(classloader, moveable, xxxHandler);
    查看全部
  • 使用聚合能够更灵活的实现代理。 Car car = new Car(); CarLogProxy clp = new CarLogProxy(car); CarTimeProxy ctp = new CarTimeProxy(clp); //这两行可以调换顺序 ctp.move();
    查看全部
  • 静态代理:代理和被代理对象在代理之前是确定的。他们都实现相同的接口(被代理类的父接口)或者继承(被代理类)相同的抽象类。
    查看全部
  • 面向切面编程,不改变原有类的方法的代码的情况下,增加业务逻辑
    查看全部
    0 采集 收起 来源:课程总结

    2015-04-10

  • 智能引用代理使用最广泛
    查看全部
    0 采集 收起 来源:课程总结

    2015-04-10

  • 远程代理 虚拟代理:页面(有图片)加载很慢时,将图片用一张默认的图片代替显示,等真实图片下载成功后,再显示。 保护代理:控制对对象的访问权限 智能引用代理:为对象增加一些额外的功能
    查看全部

举报

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

微信扫码,参与3人拼团

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

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