目的
解决对象与对象之间的耦合关系
优点:降低复杂度,各个类之间解耦
缺点:中介者会过于庞大不好维护
//聊天室
public class ChatRoom {
public static void showMessage(User user,String msg){
System.out.println(user.name+":"+msg);
}
}
//用户
public class User {
String name;
public User(String name){
this.name = name;
}
public void sendMessage(String msg){
ChatRoom.showMessage(this,msg);
}
}
//使用
User h1 = new User("h1");
User h2 = new User("h2");
h1.sendMessage("hello");
h2.sendMessage("you too~");
聊天室就相当于个中介者,给两个人传递消息。如果聊天室新增功能,会导致聊天室的代码越来越多,不好维护。
在android中,无时无刻都在使用中介者,MVP 的 P ,MVC的 C ,MVVM 的 VM。