设计模式——代理模式

本文介绍了代理模式的定义和特点,强调了它为对象提供替身以控制访问的作用。文章详细阐述了代理模式的三种类型:静态代理、动态代理(JDK实现)和Cglib代理,并解释了为何动态代理需要接口。最后,讨论了在AOP编程中选择代理模式的依据,以及Cglib代理作为动态代理特殊情况的应用。
摘要由CSDN通过智能技术生成

1.代理模式的定义与特点

代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。

我的理解:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。其实这种很像装饰者模式,但是又有所不同(设计模式:代理模式与装饰模式)。代理模式可分为:静态代理,动态代理,Cglib代理

2.代理模式的结构

代理模式的主要角色如下:

抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。
真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。
代理(Proxy)类:提供了与真实主题相同的接口,其内部含有对真实主题的引用,它可以访问、控制或扩展真实主题的功能。

在这里插入图片描述

以老师和代理老师为例介绍三种代理模式:
静态代理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值