类的中介的使用方法

1,一直感觉别人使用中介的方式进行类的使用,特别的高大上,于是花了一早晨的时间找了一个案例进行研究,收获满满的

interface Mediator{
	void contact(String content,Coll coll);
}

public class ConMedia implements Mediator {
	Coll collA;
	Coll collB;

	public void setCollA(Coll collA){
		this.collA=collA;
	}

	public void setCollB(Coll collB){
		this.collB=collB;
	}

	public void contact(String content,Coll coll){

		if(coll==collA){
			collA.getMessage(content);
			return;
		}

		if(coll==collB){
			collB.getMessage(content);
			return;
		}

	}

}

2,接下来写正式的两个类

abstract class Coll {
	
	protected String name;
	protected Mediator mediator;

	public Coll(String name,Mediator mediator){

		this.name=name;
		this.mediator=mediator;
	}

	public void getMessage(String message){
		System.out.println("this is"+ message);
	}

	public void contact(String message){
		mediator.contact(message,this);
	}

}


 class CollA extends Coll{
	public CollA(String name,Mediator mediator){
		super(name,mediator);
	}
}


class CollB extends Coll{
	public CollB(String name,Mediator mediator){
		super(name,mediator);
	}
}

3.在main函数内进行调用

public class MainTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ConMedia mediator=new ConMedia();
		Coll collA=new CollA("collA",mediator);
		Coll collB=new CollB("collB",mediator);

		mediator.setCollA(collA);
		mediator.setCollB(collB);

		collA.contact("helloA");
		collB.contact("helloB");

	}

}

4,打印输出的结果

this ishelloA
this ishelloB

哈哈哈,这就完成了程序的开发


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值