hooyantsing's Blog

9_静态代理模式

字数统计: 247阅读时长: 1 min
2020/08/20

9 静态代理模式

狂神说Java 多线程详解

Thread 和 Runnable 关系,静态代理。Thread是代理类,Runnable是被代理类。

通过案例理解 静态代理模式,辅助理解Thread和Runnable的关系。

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package demo2;

/**
* 静态代理模式总结:
* 真实对象和代理对象都要实现同一个接口
* 代理对象要代理真实对象
*
* 好处:
* 代理对象可以做真实对象做不了的事情
* 真实对象专注做自己的事情
*/
public class StaticProxy {
public static void main(String[] args) {
// 对比之下,可以看到代理模式
// new Thread(new Runnable()).start();
new WeddingCompany(new You()).happyMarry();
}
}

interface Marry{
void happyMarry();
}

class You implements Marry{
@Override
public void happyMarry() {
System.out.println("秦老师要结婚了!");
}
}

class WeddingCompany implements Marry{
private Marry target;

public WeddingCompany(Marry target) {
this.target = target;
}

@Override
public void happyMarry() {
before();
target.happyMarry();
after();
}

private void after() {
System.out.println("收尾款");
}

private void before() {
System.out.println("布置现场");
}
}
CATALOG
  1. 1. 9 静态代理模式