욱'S 노트

Mediator - 중개인을 통해 지시내리기 본문

Methdology/Design Pattern

Mediator - 중개인을 통해 지시내리기

devsun 2012. 4. 26. 18:05

When Using It

다수의 객체에 통합적인 지시를 내리기 위한 패턴. 클래스의 기능들을 분할하여 세분화된 클래스로 내렸을때, 세분화된 클래스간의 통신이 필요할때 유용하다.

Class Diagram


Sample Code

public interface Mediator {

}


public class ConcreteMediator implements Mediator {

private Colleague colleague;

private Colleague colleague2;

public void initializeColleague() {

colleague = new Colleague();

colleague2 = new Colleague();

colleague.setMediator(this);

colleague2.setMediator(this);

}

public void colleagueExecute() {

colleague.execute();

}

public void colleague2Execute() {

colleague2.execute();

}

}


public class Colleague {

private Mediator mediator;


public void setMediator(Mediator mediator) {

this.mediator = mediator;

}

public void execute() {

}

}

Case Study

1. GWT나 SWT같은 화면을 개발할 경우 Layout 아래에 Grid, Tree, Tab과 같은 다수의 클래스들이 선언된다. 이럴경우 Layout에 그려진 Grid를 클릭했을때 Detail Form에 데이터가 표시되어야 한다라는 요구사항이 있다고 가정하자. 이럴 경우 Layout 자체를 Mediator로 Grid와 Detail Form을 Colleague로 묶어놓으면 Grid와 Detail Form간의 변화 상황을 Layout을 통해 통보할 수 있다.

Caution


특별한 주의사항은 없다.

Comments