目录
一、什么是代理?
现实生活中有哪些例子?比如:买房子找中介、打官司找律师等,都是代理模式,都不是你自己直接去干这件事,自己只负责付钱或者出庭,其它前期准备工作及收尾工作交个代理去完成。所以代理的作用就是,在真实对象访问之前或者之后加入对应的逻辑,或者根据其他规则控制是否使用真实对象。
代理模式包含三个角色:
- 目标对象
- 代理对象
- 用户
举个例子来说明下用代理去执行和自己亲自执行的不同,假设有个小伙要追求一个姑娘,不请他人帮忙的情况自己上的情况如下:
@Data
public class Pursuit {
private Girl girl;
public Pursuit(Girl girl) {
this.girl = girl;
}
public void giveDolls(){
Console.print("送玩具娃娃");
}
public void giveFlowers(){
Console.print("送鲜花");
}
public void giveFood(){
Cons