디자인 패턴/행위 패턴

Mediator 패턴

언린이 2021. 11. 12. 10:58

Mediator 패턴은 모든 클래스간의 복잡한 상호작용을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴입니다.

즉, M:N의 관계에서 M:1의 관계로 복잡도를 떨어뜨려 유지 보수 및 재사용의 확장성을 유리하게 해주는 패턴입니다.

 

 

구조

  • Mediator
    • 여러 Colleague 객체들을 중재해주는 인터페이스를 정의한 추상 클래스입니다.
  • ConcreteMediator
    • Colleague 객체들을 가지고 있으면서 중재해주는 역할을 하는 클래스입니다.
  • Colleague
    • Mediator 객체에 의해서 관리 및 중재를 받을 기본 클래스입니다.
  • ColleagueA, ColleagueB
    • 실제로 Mediator 객체에 의해서 관리 및 중재를 받는 클래스를 구현한 클래스입니다.

 

 

활용 상황

  • 서로 전혀 다른 객체간의 상호 통신이 매우 복잡할때 유용합니다.

 

 

Mediator 패턴의 장단점

  • 장점
    • 효율적인 자원 관리가 가능합니다.
    • 객체간의 통신을 위해 서로 직접 참조할 필요가 없습니다.
    • 중재자 구현 클래스는 추후에 더 효율적인 클래스로 변경될 수 있습니다.
  • 단점
    • 객체간의 통신 로직이 복잡해지거나 객체의 형태가 자주 변경되는 경우 유지보수 및 관리가 어렵습니다.

'디자인 패턴 > 행위 패턴' 카테고리의 다른 글

Memento 패턴  (0) 2021.11.16
Template Method 패턴  (0) 2021.11.09
Strategy 패턴  (0) 2021.11.05
Interpreter 패턴  (0) 2021.11.02
Chain of responsibility 패턴  (0) 2021.10.29