일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spark
- intellij
- Linux
- Gradle
- docker
- hdfs
- Clean Code
- DDD
- Spring Boot
- SBT
- 엘라스틱서치
- Hbase
- 제주
- scala
- Java
- design pattern
- apache storm
- Storm
- Domain Driven Design
- 스프링 배치
- Spring Batch
- 도메인주도설계
- elasticsearch
- hadoop
- Spring
- Spring XD
- elastic search
- hibernate
- Angular2
- nginx
- Today
- Total
욱'S 노트
Mediator - 중개인을 통해 지시내리기 본문
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
특별한 주의사항은 없다.
'Methdology > Design Pattern' 카테고리의 다른 글
Memento - 상태 저장하기 (0) | 2012.04.26 |
---|---|
Observer - 자신의 상태를 전달하기 (0) | 2012.04.26 |
Chain of Responsibility - 처리자 연결하기 (0) | 2012.04.25 |
Vistor - 데이터 구조를 방문하기 (0) | 2012.04.25 |
Strategy - 알고리즘 교체 하기 (0) | 2012.04.25 |