静态代理模式

 1 package Thread;
 2 
 3 /*
 4  * 静态代理模式
 5  * 婚庆公司代理你搞结婚,你专注于结婚就行,吉他事交由公司处理。
 6  * 真实对象和代理对象都要实现同一个接口
 7  * 代理对象要代理真实角色
 8  *
 9  *
10  * */
11 public class StaticProxy {
12     public static void main(String[] args) {
13 
14         WeddingCompany weddingCompany = new WeddingCompany(new You());
15         weddingCompany.happyMarry();
16     }
17 }
18 
19 interface Marry {
20     void happyMarry();
21 }
22 
23 //真实角色,你去结婚
24 class You implements Marry {
25     @Override
26     public void happyMarry() {
27         System.out.println("兰要出嫁了,不开心!");
28     }
29 }
30 
31 //代理角色,帮助你结婚
32 class WeddingCompany implements Marry {
33     //代理谁-->真实目标角色
34     private Marry target;
35 
36     public WeddingCompany(Marry target) {
37         this.target = target;
38     }
39 
40     @Override
41     public void happyMarry() {
42         before();
43         this.target.happyMarry();//这就是真实对象
44         after();
45     }
46 
47     private void before() {
48         System.out.println("结婚之前,布置现场");
49     }
50 
51     private void after() {
52         System.out.println("结婚之后,收尾款");
53     }
54 
55 }
原文地址:https://www.cnblogs.com/dragon-lan/p/14071343.html