高金亮丶
Published on 2019-11-12 11:31 with jnnleo丶

StaticProxy(静态代理模式)

静态代理模式(StaticProxy)

1.真实的对象和代理对象都要实现同一个接口
2.代理对象呀是真实的角色

优点:
1.代理对象可以做很多真实对象做不了的事情
2.真实对象专注做自己的事情

`
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();
    this.target.HappyMarry();//这就是真实角色
    after();
}

private void after() {
    System.out.println("结婚之后:收尾款    ");
}

private void before() {
    System.out.println("结婚之前:布置现场");
}

}`

`public class StaticProxy{
public static void main(String[] args) {
//以前不需要代理模式的 操作
// You you = new You();
// you.HappyMarry();

    new Thread(()-> System.out.println("我爱你")).start();

// WeddingCompany weddingCompany = new WeddingCompany(new You());
// weddingCompany.HappyMarry();
new WeddingCompany(new You()).HappyMarry();
}
}`

输出:
结婚之前:布置现场
你要结婚了,超开心
结婚之后:收尾款

posted @ 2020-11-19 16:38  L-xxxx  阅读(110)  评论(0编辑  收藏  举报