概述
1.代理设计模式
- GoF95 一共定义了23种设计模式.代理设计模式是非常重要模式之一.
- 作用:
- 对目标对象访问进行控制.在访问目标前,后进行功能的扩展.
- 可以进行功能扩展的技术:
- 过滤器
- 拦截器
- 代理
- …
- 代理方式:
- 静态代理:只能代理一种类型的对象.代理类需要自定义开发.
- 动态代理:可以代理所有的类型对象.代理类由代理工具类动态生成.
- JDK动态代理
- 基于接口进行代理.
- 目标对象必须实现相关的接口,才能使用这种代理方式.
- 代理类和目标类实现了共同的接口.
- InvocationHandler
- Cglib/Javassist
- 基于继承方式进行代理的.
- 代理类是目标类的子类.
- JDK动态代理
- 代理流程:
- 使用代理前代码结构:
- A(客户端) -> D(目标程序(业务代码+非业务代码(日志,事务,权限,校验…)))
- 使用代理后代码结构:
- A(客户端) ->B(代理对象) ->C(调用处理器(非业务代码(日志,事务,权限,校验…))-> D(目标程序(业务代码))
- 使用代理前代码结构:
- 代理可以解决系统中哪些问题?
- 日志打印,事务处理,权限控制,数据校验…
最后
以上就是传统羽毛为你收集整理的代理设计模式1(知识点总结)的全部内容,希望文章能够帮你解决代理设计模式1(知识点总结)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复