Java多線程詳解(二)靜態代理模式

實現靜態代理模式:

package ThreadTest;

//靜態代理模式:
//真實對象和代理對象都要實現同一個接口
//代理對象要代理真實角色
//好處:
//代理對象可以做很多真實對象做不了的事情
//真實對象專注做自己的事情
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 before(){
        System.out.println("結婚之前,佈置現場");
    }
    private void after(){
        System.out.println("結婚之後,收尾款");
    }
}

運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章