ConcreateMediator.java 1.3 KB
Newer Older
门心叼龙's avatar
门心叼龙 已提交
1 2
package com.mxdl.desigin.pattern.behavior.mediator;

门心叼龙's avatar
门心叼龙 已提交
3 4 5 6 7
import com.mxdl.desigin.pattern.behavior.mediator.contract.IColleague;
import com.mxdl.desigin.pattern.behavior.mediator.contract.IMediator;
import com.mxdl.desigin.pattern.behavior.mediator.entity.ConcreateColleagueA;
import com.mxdl.desigin.pattern.behavior.mediator.entity.ConcreateColleagueB;

门心叼龙's avatar
门心叼龙 已提交
8 9 10 11 12 13 14
/**
 * Description: <ConcreateMediator><br>
 * Author:      mxdl<br>
 * Date:        2019/12/20<br>
 * Version:     V1.0.0<br>
 * Update:     <br>
 */
门心叼龙's avatar
门心叼龙 已提交
15
public class ConcreateMediator implements IMediator {
门心叼龙's avatar
门心叼龙 已提交
16 17 18 19 20 21 22 23 24 25 26 27
    private ConcreateColleagueA mColleagueA;
    private ConcreateColleagueB mColleagueB;

    public void setColleagueA(ConcreateColleagueA colleagueA) {
        mColleagueA = colleagueA;
    }

    public void setColleagueB(ConcreateColleagueB colleagueB) {
        mColleagueB = colleagueB;
    }

    @Override
门心叼龙's avatar
门心叼龙 已提交
28
    public void sendMessage(String msg, IColleague colleague) {
门心叼龙's avatar
门心叼龙 已提交
29 30 31 32 33 34 35 36 37 38
        System.out.println("中介开始转发消息");
        if(colleague == mColleagueA){
            //如果是A发来了消息,则把这个消息转发给B
            mColleagueB.notifyMessage(msg);
        }else if(colleague == mColleagueB){
            //如果是B发来了消息,则把这个消息转发给A
            mColleagueA.notifyMessage(msg);
        }
    }
}