静态代理模式

//静态代理模式
//真实对象和代理对象都需要实现同一个接口
//代理对象 要代理真实对象
//创建一个接口 创建真实对象和创建一个代理对象

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 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("布置现场,工作");
    }
}

  

//总结:
//代理对象可以做很多真实对象做不了的事
//真实对象专注做自己的事
 
posted @ 2022-02-28 10:49  孤狼奋战  阅读(41)  评论(0)    收藏  举报