設計模式-行為篇(中介者模式)

中介者模式

mvc的模型,Meditor控制

/**
 * Created by malei on 2016/12/6.
 * 中介者接口
 */
public interface Mediator {
    void listener(String key,Department de);
    void say(String key);
}

/**
 * Created by malei on 2016/12/6.
 * 部門接口
 */
public interface Department {
    void action();
}

/**
 * Created by malei on 2016/12/6.
 * 研發部
 */
public class Delelopment implements Department {

    private final Mediator mediator;

    public Delelopment(Mediator mediator){
        this.mediator = mediator;
    }

    @Override
    public void action() {
        Log.show("研發部活動");
    }
}

/**
 * Created by malei on 2016/12/6.
 * 市場部
 */
public class Market implements Department {

    private final Mediator mediator;

    public Market(Mediator mediator){
        this.mediator = mediator;
    }

    @Override
    public void action() {
        Log.show("市場部活動");
    }

    public static void main(String[] args){
        Mediator mediator = new CEO();
        Market market = new Market(mediator);
        Delelopment dev = new Delelopment(mediator);

        market.action();
        dev.action();
    }
}

/**
 * Created by malei on 2016/12/6.
 * ceo:中介者的具體實現類
 */
public class CEO implements Mediator{

    private Map<String, Department> map = new HashMap<String, Department>();

    @Override
    public void listener(String key, Department de) {
        map.put(key, de);
    }

    @Override
    public void say(String key) {
        map.get(key).action();
    }
}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容