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代理