目录
-
目的
利用一个中介处理不同类间的交互,松耦合。
-
应用实例
MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介。
-
代码
/**
* describe:中介
*
* @author gary
* @date 2018/12/27
*/
public class Mediator {
public static void showMessage(User user, String message) {
System.out.println(new Date().toString() + "[" + user.getName() +
"]" + message);
}
}
/**
* describe:User类
*
* @author gary
* @date 2018/12/27
*/
public class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void sendMessage(String message) {
Mediator.showMessage(this, message);
}
}
/**
* describe:
*
* @author gary
* @date 2018/12/27
*/
public class MediatorDemo {
public static void main(String[] args) {
User gary = new User("gary");
User mike = new User("mike");
gary.sendMessage("Hi! mike");
mike.sendMessage("Hi! gary");
}
}
Thu Dec 27 18:58:04 GMT+08:00 2018[gary]Hi! mike
Thu Dec 27 18:58:04 GMT+08:00 2018[mike]Hi! gary