知识梳理(三)

已有 56 次阅读2017-5-5 20:04 |个人分类:知识慢梳

代理模式定义
可以去掉功能服务,也可以增加额外服务
为其他对象提供一种代理,以控制对该对象的访问
远程代理:为不同地理对象提供局域网代理对象
虚拟代理:根据需要将资源消耗很大的对象进行延迟。
保护代理:控制用户的访问权限
智能引用代理

两种实现方式
静态代理:继承的方式,使用静态代理。使用聚合的方式
动态代理

1.创建一个实现接口InvocationHandler的类,它必须实现invoke方法

2创建被代理的类以及接口
3.调用proxyy的静态方法
4.通过代理调用方法.

JDK动态代理与CGLB动态代理的区别
1.JDK动态代理,只能实现了接口的类
2.没有实现接口的类不能实现JDK的动态代理

CGLIB动态代理
1.针对类来实现代理
2.对指定目标类产生一个子类,通过方法拦截技术,拦截所有父类方法的调用

如果想调用某个jar包的方法,可以使用代理的机制,在不改变原先方法的同时,增加自己想要的业务
  1. Proxy类的代码量被固定下来,不会因为业务的逐渐庞大而庞大;
  2. 可以实现AOP编程,实际上静态代理也可以实现,总的来说,AOP可以算作是代理模式的一个典型应用;
  3. 解耦,通过参数就可以判断真实类,不需要事先实例化,更加灵活多变。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

Copyright;  ©2015-2017  知了堂学习社区  Powered by  知了堂Edu!     ( 蜀ICP备16011312号-1 )