彻底了解23种设计模式--11 代理模式

01  百知教育男哥经典spring系列教程

在学习spring过程中,百知哥哥 举了个例子,将 小李  小红  小红友  三人(复杂)的关系 ,30分钟视频,30分钟编码,基本学会静态代理设计模式

【编程不良人】Spring 从入门到精通_哔哩哔哩_bilibili

(另外打个广告,百知哥视频在b站免费,资料要收费,一个专题2.**元,很亲民的价格,如果绝得视频有用,买卖无妨,20200628 买了第一个)

02  Java中的代理模式---静态代理

Java中的代理模式---静态代理_哔哩哔哩_bilibili

 

1. 接口

2. 被代理对象

3. 代理对象 : 代理对象通过构造函数,输入被代理对象,从而使用被代理对象的方法。

03    代理模式

23 种设计模式详解(全23种)_人生智慧的博客-CSDN博客_设计模式

定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。

举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。用图表示如下:

7.1 为什么要用代理模式?

7.1 为什么要用代理模式?

中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。

开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后对返回结果的处理等。代理类本身并不真正实现服务,而是同过调用委托类的相关方法,来提供特定的服务。真正的业务功能还是由委托类来实现,但是可以在业务功能执行的前后加入一些公共的服务。例如我们想给项目加入缓存、日志这些功能,我们就可以使用代理类来完成,而没必要打开已经封装好的委托类。

代理模式分为三类:1. 静态代理 2. 动态代理 3. CGLIB代理
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值