中介者模式

                                             中介者模式

         中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者依赖的对象拆开,在中间加入一个“中介”对象,使得两头的对象分别和“中介”对象引用或者依赖。

  当然并不是所有的对象都需要加入“中介”对象。如果对象之间的关系原本一目了然,中介对象的加入便是“画蛇添足”。

  来看下中介者模式的组成部分吧。

  1) 抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各同事角色之间的通信。

  2) 具体中介者(Concrete Mediator)角色:具体中介者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色。

  3) 同事(Colleague)角色:每一个同事角色都知道对应的具体中介者角色,而且与其他的同事角色通信的时候,一定要通过中介者角色协作。

public class ColleagueA extends Colleague {

		public void action() {
		System.out.println("普通员工努力工作");
		}
	}
 

	public class ColleagueB extends Colleague {  

		public void action() { 

		System.out.println("前台注意了"); } }

 

	//中介者 

	public class ConcreteMediator extends Mediator {  

		private ColleagueA ca; 

		private ColleagueB cb; 

		public ConcreteMediator(){ 

			ca = new ColleagueA(); 

			cb = new ColleagueB(); } 

	 	public void notice(String content) { 

			if(content.equals("boss")){ 

			//老板来了,通知员工A 

			ca.action(); } 

			if(content.equals("client")){ 

			//客户来了,通知前台 

			cb.action(); } } }

 

	//测试类 

	public class Test {  

		public static void main(String[] args) { 

			Mediator med = new ConcreteMediator(); 

			med.notice("boss"); 

			med.notice("client"); } }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值