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
哈哈哈,这就完成了程序的开发