20201207——靜態代理模式

宮城詩發表於2020-12-07

關於靜態代理模式

真實物件和代理物件都要實現同一個介面

代理物件需要一個真實物件的一個物件,在代理物件的實現的方法中,需要真實物件的方法

代理物件可以做很多真實物件做不了的事情,而真實物件可以專注於做自己的事情。

/**
 * @Classname StaticProxy
 * @Description TODO
 * @Date 2020/12/7 18:30
 * @Created by mmz
 */
public class StaticProxy {
    public static void main(String[] args) {
        You you = new You();
        WeddingCompany weddingCompany = new WeddingCompany(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("結婚之前,佈置現場");
    }
}



相關文章