代碼詳解設計模式--中介者模式

中介者模式

  中介者模式是用來降低多個對象和類之間的通信複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通信,並支持鬆耦合,使代碼易於維護。

  • 優點
  1. 降低了類的複雜度,將一對多轉化成了一對一;
  2. 各個類之間的解耦;
  3. 符合迪米特原則。
  • 缺點
  1. 中介者會龐大,變得複雜難以維護。
// 聊天室
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!");
   }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章