静态代理模式
2022-04-04 15:02:48

静态代理模式

有什么作用?

用来代理代理对象,帮代理对象做事或则做更多的事,例子如下:

结婚接口:有个结婚的方法

你:真实角色

婚庆公司:代理你实现结婚

真实对象和代理对象都实现结婚接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class StaticProxy {
public static void main(String[] args) {
WeddingCompany weddingCompany = new WeddingCompany(new You());
weddingCompany.happyMarry();
}
}
interface Marry {
void happyMarry();
}
class You implements Marry {
@Override
public void happyMarry() {
System.out.println("本人结婚了!");
}
}
class WeddingCompany implements Marry {
private Marry marry;
public WeddingCompany(Marry marry) {
this.marry = marry;
}
@Override
public void happyMarry() {
System.out.println("结婚前的操作!");
this.marry.happyMarry();
System.out.println("结婚后的操作!");
}
}

运行结果

1
2
3
结婚前的操作!
本人结婚了!
结婚后的操作!

好处

代理对象可以做比真实对象更多的事

真实对象只关注自己的事

Prev
2022-04-04 15:02:48
Next