代理设计模式1(知识点总结)

xiaoxiao2021-02-28  8

1.代理设计模式

GoF95  一共定义了23种设计模式.代理设计模式是非常重要模式之一. 作用: 对目标对象访问进行控制.在访问目标前,后进行功能的扩展. 可以进行功能扩展的技术: 过滤器 拦截器 代理 代理方式: 静态代理:只能代理一种类型的对象.代理类需要自定义开发. 动态代理:可以代理所有的类型对象.代理类由代理工具类动态生成. JDK动态代理 基于接口进行代理. 目标对象必须实现相关的接口,才能使用这种代理方式. 代理类和目标类实现了共同的接口. InvocationHandler Cglib/Javassist 基于继承方式进行代理的. 代理类是目标类的子类. 代理流程: 使用代理前代码结构: A(客户端) -> D(目标程序(业务代码+非业务代码(日志,事务,权限,校验…)))      使用代理后代码结构: A(客户端) ->B(代理对象) ->C(调用处理器(非业务代码(日志,事务,权限,校验…))-> D(目标程序(业务代码)) 代理可以解决系统中哪些问题? 日志打印,事务处理,权限控制,数据校验
转载请注明原文地址: https://www.6miu.com/read-750168.html

最新回复(0)