静态代理模式

Posted huolongluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态代理模式相关的知识,希望对你有一定的参考价值。

静态代理模式总结:真实对象和代理对象,都要实现同一个接口,代理对象要代理真实角色。好处:代理对象可以做很多真实对象做不了、或者冗余的事情,真实对象只要专注做自己的事情就行。这种思想在多线程里面是一样的。语句如下:
new WeddingCompany(new You()).HappyMarry();
new Thread(new Runnable() {
            @Override
            public void run() {

            }
        }).start();

 

静态代理模式:

 1 package com.huolongluo.coindemo.morethread.sub1;
 2 
 3 /**
 4  * Created by 火龙裸 on 2019/11/9.
 5  * desc   : 静态代理模式
 6  * version: 1.0
 7  */
 8 public class StatciProxy {
 9     public static void main(String[] args) {
10         /*You you = new You();//你要结婚
11         WeddingCompany weddingCompany = new WeddingCompany(you);
12         weddingCompany.HappyMarry();*/
13 
14         new WeddingCompany(new You()).HappyMarry();
15     }
16 }
17 
18 interface Marry {
19     //人间四大喜事
20     //久旱逢甘霖
21     //他乡遇故知
22     //洞房花烛夜
23     //金榜题名时
24 
25     void HappyMarry();
26 }
27 
28 //真实角色,你去结婚
29 class You implements Marry {
30     @Override
31     public void HappyMarry() {
32         System.out.println("要结婚了,超开心");
33     }
34 }
35 
36 //代理角色,婚庆公司帮助你结婚
37 class WeddingCompany implements Marry {
38 
39     //代理谁--》真实目标角色
40     private Marry target;
41 
42     public WeddingCompany(Marry target) {
43         this.target = target;
44     }
45 
46     @Override
47     public void HappyMarry() {
48         before();
49         this.target.HappyMarry();//“this.target”这就是真实对象
50         after();
51     }
52 
53     private void before() {
54         System.out.println("结婚之前,布置现场");
55     }
56 
57     private void after() {
58         System.out.println("结婚之后,收尾款");
59     }
60 }

 

以上是关于静态代理模式的主要内容,如果未能解决你的问题,请参考以下文章

Spring之静态/动态代理模式

代理模式(静态代理动态代理)代码实战(详细)

代理模式(静态代理)

代理模式_静态代理

代理模式---静态代理

设计模式代理模式 ( 静态代理 )