中介者模式实例同事

博客围绕中介者模式实例展开,但内容缺失,推测会涉及中介者模式在实际中的应用,通过具体实例展示其原理和使用方式,帮助理解该设计模式在信息技术领域的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package Zhongjiezhe;

public abstract class Collague {
protected Mediator mediator;
public Collague(Mediator mediator)
{this.mediator=mediator;
}
public abstract void Send(String message);
public abstract void Notify(String message);
}
package Zhongjiezhe;

public class ConcreteCollague1 extends Collague {

	public ConcreteCollague1(Mediator mediator) {
		super(mediator);
		// TODO 自动生成的构造函数存根
	}

	@Override
	public void Send(String message) {
		mediator.Send(message, this);
	}

	@Override
	public void Notify(String message) {
		System.out.println("同事1收到信息"+message);

	}

}

 

package Zhongjiezhe;

public class ConcreteCollague2 extends Collague {

	public ConcreteCollague2(Mediator mediator) {
		super(mediator);
		// TODO 自动生成的构造函数存根
	}

	@Override
	public void Send(String message) {
		mediator.Send(message, this);
	}

	@Override
	public void Notify(String message) {
		System.out.println("同事2收到信息"+message);

	}

}
package Zhongjiezhe;

public abstract class Mediator {
public abstract void Send(String message,Collague collague);
}

 

package Zhongjiezhe;

public class ConcreteMediator extends Mediator {
private ConcreteCollague1 c1;
private ConcreteCollague2 c2;

	public ConcreteCollague1 getC1() {
	return c1;
}

public void setC1(ConcreteCollague1 c1) {
	this.c1 = c1;
}

public ConcreteCollague2 getC2() {
	return c2;
}

public void setC2(ConcreteCollague2 c2) {
	this.c2 = c2;
}

	@Override
	public void Send(String message, Collague collague) {
	if(collague==c1)
		c2.Notify(message);
	else
		c1.Notify(message);

	}

}
package Zhongjiezhe;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
ConcreteMediator m=new ConcreteMediator();
ConcreteCollague1 c1=new ConcreteCollague1(m);
ConcreteCollague2 c2=new ConcreteCollague2(m);
m.setC1(c1);
m.setC2(c2);
c1.Send("你吃饭了吗");
c2.Send("没有呢,你请客");



	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值