2016년 4월 1일 금요일

Design Pattern Digest - 16. Mediator

이글은 책 "Java언어로 배우는 디자인 패턴 입문"을 읽고 쓴 요약입니다. 
나만 이해하도록 불친절하게 작성되어 있습니다. 
자세한 내용은 책을 보세요. 


Mediator



  • 다수의 오브젝트들이 서로서로 복잡하게 영향을 미칠 때 중앙에서 동작을 관리하는 패턴
  • Mediator는 '중개인' interface인데 회원들(Colleague)들을 관리한다. Colleague interface는 Mediator를 set하고 있다가 상태가 변경되면 Mediator에게 그 사실을 알린다. 그러면 Mediator는 전체적인 상황을 판단해서 모든 회원들에게 동작 변경 (update)를 내린다.
  • [예제]: 패스워드 창. Guest/User mode, user name / password 입력 상태에 따라서 버튼이나 텍스트필드가 enable/disable되어야 한다. LoginFrame 창이 Mediator를 구현하고 각 GUI 컴포넌트들 (버튼, 텍스트필드)이 ConcreteColleague가 된다. LoginFrame이 GUI 컴포넌트들을 생성하고 setMediator()를 통해 중개인을 지정한다. GUI 컴포넌트들은 상태변화가 있을 때 LoginFrame에 알리고 enable/disable 명령을 받는다.


댓글 없음:

댓글 쓰기