ps:中介者模式。模仿如下的场景:中国China,韩国Korea通过WTO进行建交,WTO相当于一个中介者的角色。china通过WTO发出建交意愿,韩国收到后,通过WTO发出愿意建交的意愿。代码和类图如下。
1、Nation抽象类
public abstract class Nation {
public abstract String getName();
public abstract void sendMessage(String message);
}
2、China类和Korea类
public class China extends Nation{
String name;
public China(String name) {
this.name = name;
}
@Override
public String getName() {
return this.name;
}
@Override
public void sendMessage(String message) {
WTO.showMessage(this,message);
}
}
public class Korea extends Nation{
String name;
public Korea(String name) {
this.name = name;
}
@Override
public String getName() {
return this.name;
}
@Override
public void sendMessage(String message) {
WTO.showMessage(this,message);
}
}
3、WTO类
public class WTO {
//WTO负责传递交流的信息
public static void showMessage(Nation nation,String message){
System.out.println(nation.getName()+":"+message);
}
}
4、Main类(测试)
public class Main {
public static void main(String[] args) {
Nation china = new China("中国");
Nation korea = new China("韩国");
china.sendMessage("我想与你建立贸易关系,korea");
korea.sendMessage("好的,china");
}
}
执行结果
总结:中介者模式可以很好的解决多个类之间的耦合。将原本的一对多的关系转换成一对一的关系。