디자인 패턴 - Mediator Pattern

Table of Contents

출처 : https://www.tutorialspoint.com/design_pattern/mediator_pattern.htm

Mediator pattern은 여러 객체 또는 클래스 간의 통신 복잡성을 줄이는 데 사용됩니다. 이 패턴은 일반적으로 서로 다른 클래스 간의 모든 통신을 처리하고 느슨한 결합을 통해 코드를 쉽게 유지 관리할 수 있는 중재자 클래스를 제공합니다. Mediator pattern은 행동 패턴 범주에 속합니다.

Implementation

여러 사용자가 대화방에 메시지를 보낼 수 있는 대화방의 예를 통해 중재자 패턴을 시연하고 있으며 모든 사용자에게 메시지를 표시하는 것은 대화방의 책임입니다. ChatRoomUser 두 개의 클래스를 만들었습니다. User 개체는 ChatRoom 메서드를 사용하여 메시지를 공유합니다. MediatorPatternDemo, our demo class, will use User objects to show communication between them.

Mediator Pattern UML Diagram

Step 1

Create mediator class.

ChatRoom.java

1import java.util.Date;
2
3public class ChatRoom {
4   public static void showMessage(User user, String message){
5      System.out.println(new Date().toString() + " [" + user.getName() + "] : " + message);
6   }
7}

Step 2

Create user class

User.java

 1public class User {
 2   private String name;
 3
 4   public String getName() {
 5      return name;
 6   }
 7
 8   public void setName(String name) {
 9      this.name = name;
10   }
11
12   public User(String name){
13      this.name  = name;
14   }
15
16   public void sendMessage(String message){
17      ChatRoom.showMessage(this,message);
18   }
19}

Step 3

User 개체를 사용하여 이들 간의 통신을 표시합니다.

MediatorPatternDemo.java

1public class MediatorPatternDemo {
2   public static void main(String[] args) {
3      User robert = new User("Robert");
4      User john = new User("John");
5
6      robert.sendMessage("Hi! John!");
7      john.sendMessage("Hello! Robert!");
8   }
9}

Step 4

출력을 확인합니다.

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

이 시리즈의 게시물

댓글