中介者模式

6 阅读1分钟

目的

解决对象与对象之间的耦合关系
优点:降低复杂度,各个类之间解耦
缺点:中介者会过于庞大不好维护

//聊天室
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。