中介者模式
中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。
- 优点
- 降低了类的复杂度,将一对多转化成了一对一;
- 各个类之间的解耦;
- 符合迪米特原则。
- 缺点
- 中介者会庞大,变得复杂难以维护。
// 聊天室
public class ChatRoom {
public static void showMessage(User user, String message){
System.out.println("[" + user.getName() +"]:" + message);
}
}
@Data
@AllArgsConstructor
public class User {
private String name;
public void sendMessage(String message){
ChatRoom.showMessage(this, message);
}
}
// 使用示例
public class Demo {
public static void main(String[] args) {
User robert = new User("Robert");
User john = new User("John");
robert.sendMessage("Hi! John!");
john.sendMessage("Hello! Robert!");
}
}