[디자인 패턴] 중재자 패턴 (Mediator Pattern)
디자인 패턴- 개념
중재자 패턴은 말 그대로 서로 명령을 주고 받는 부분을 중재하는 패턴이다
클래스간에 복잡하게 서로 명령을 주고 받는 것을 중재자에게만 전달하고, 중재자는 해당 명령을 적절한 개체에게 전달해 준다. 즉, 클래스간의 복잡한 로직을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴이다
중재자 패턴은 M:N 관계에서 M:1 관계로 복잡도를 떨어뜨려 유지보수 및 재사용에 유리하며, 복잡한 상호작용을 하기 위한 복잡한 관계를 단순화 시킬 수 있다.
- 구현
Mediator는 Colleague 객체와 교류하는데 필요한 인터페이스를 정의합니다
ConcreteMediator는 Colleague 객체와 조화를 이루며 협력 행동을 구현하고, Colleague들을 파악하고 관리합니다
Colleague 클래스들은 자신의 중재자 객체가 무엇인지 파악하고, 다른 객체와 통신이 필요하면 그 중재자를 통해 통신되도록 하는 동료 객체입니다
Colleague는 Mediator에서 요청을 송수신하고, Mediator는 필요한 Colleague 사이에 요청을 전달합니다
- 관련패턴
퍼사드 패턴 (Facade Pattern) - http://cpp11.tistory.com/56
감시자 패턴 (Observer Pattern) - http://cpp11.tistory.com/54
'디자인 패턴' 카테고리의 다른 글
[디자인 패턴] 전략 패턴 (Strategy Pattern) (0) | 2018.04.23 |
---|---|
[디자인 패턴] 장식자 패턴 (Decorator Pattern) (0) | 2018.04.01 |
[디자인 패턴] 적응자 패턴 (Adapter Pattern) (0) | 2018.03.26 |
[디자인 패턴] 퍼사드 패턴 (Facade Pattern) (0) | 2018.03.26 |
[디자인 패턴] 감시자 패턴 (observer pattern) (0) | 2018.03.18 |