Шаблон посредника используется для уменьшения сложности связи между несколькими объектами или классами. Этот шаблон предоставляет класс-посредник, который обычно обрабатывает все взаимодействия между различными классами и поддерживает простое обслуживание кода за счет слабой связи. Паттерн медиатора подпадает под категорию паттернов поведения.
Реализация
Мы демонстрируем шаблон посредника на примере чата, где несколько пользователей могут отправлять сообщения в чаты, и в чатах лежит ответственность показывать сообщения всем пользователям. Мы создали два класса ChatRoom и User . Пользовательские объекты будут использовать метод ChatRoom, чтобы делиться своими сообщениями.
MediatorPatternDemo , наш демонстрационный класс, будет использовать объекты User для отображения связи между ними.
Шаг 1
Создать класс-посредник.
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); } }
Шаг 2
Создать класс пользователя
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); } }
Шаг 3
Используйте объект User, чтобы показать связь между ними.
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!"); } }
Шаг 4
Проверьте вывод.