Mẫu thiết kế - Mẫu dàn xếp

Mẫu dàn xếp được sử dụng để giảm độ phức tạp trong giao tiếp giữa nhiều đối tượng hoặc lớp. Mẫu này cung cấp một lớp trung gian thường xử lý tất cả các giao tiếp giữa các lớp khác nhau và hỗ trợ dễ dàng bảo trì mã bằng cách ghép nối lỏng. Mẫu hòa giải thuộc danh mục mẫu hành vi.

Thực hiện

Chúng tôi đang trình diễn mô hình hòa giải viên bằng ví dụ về một phòng trò chuyện nơi nhiều người dùng có thể gửi tin nhắn đến phòng trò chuyện và phòng trò chuyện có trách nhiệm hiển thị các tin nhắn cho tất cả người dùng. Chúng tôi đã tạo hai lớp ChatRoomNgười dùng . Đối tượng người dùng sẽ sử dụng phương thức ChatRoom để chia sẻ thông điệp của họ.

MediatorPatternDemo , lớp demo của chúng tôi, sẽ sử dụng các đối tượng Người dùng để hiển thị giao tiếp giữa chúng.

Bước 1

Tạo lớp hòa giải viên.

ChatRoom.java

import java.util.Date;

public class ChatRoom {
   public static void showMessage(User user, String message){
      System.out.println(new Date().toString() + " [" + user.getName() + "] : " + message);
   }
}

Bước 2

Tạo lớp người dùng

User.java

public class User {
   private String name;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public User(String name){
      this.name  = name;
   }

   public void sendMessage(String message){
      ChatRoom.showMessage(this,message);
   }
}

Bước 3

Sử dụng đối tượng Người dùng để hiển thị liên lạc giữa họ.

MediatorPatternDemo.java

public class MediatorPatternDemo {
   public static void main(String[] args) {
      User robert = new User("Robert");
      User john = new User("John");

      robert.sendMessage("Hi! John!");
      john.sendMessage("Hello! Robert!");
   }
}

Bước 4

Xác minh kết quả đầu ra.

Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John!
Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!