DesignPatterns에서 BehavioralPatterns의 하나
복잡하게 얽혀있는 객체들 상호간의 통신은 중지시키고 중재자(Mediator)에게 정보를 집중시킴으로써 처리를 원활히 한다. GUI어플리케이션에 특히 효과적이다.
Structure
Example
AWT로 만든 login GUI다이얼로그 MediatorGuiLogin.java
- guest/user 로그인 윈도우, guest일때는 id/pass 입력불가, user일때 입력가능한 윈도우
- 각 객체는 중재자를 필드로 갖고(mediator), 자신의 변화를 조절하는 메쏘드를 만든다.(setEnabled)
- 중재자는 전체를 지휘한다.
관련정보
논의
OOP에서는 한군데 집중을 피해 분산시키는 일이 많다. 그러나, 실제 분산시켜야할것은 분산시키고, 집중시켜야할것은 집중시켜야 한다.