728x90

중재자 패턴은 모든 클래스간의 상호작용을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴

 

구조

 

 

Mediator

  • 여러 Colleague 객체들을 중재하는 인터페이스를 정의한 추상 클래스

 

ConcreteMediator

  • Colleague 객체들을 가지고 있으면서 중재햐ㅐ주는 역할을 하는 클래스

 

Colleaguge

  • Mediator 객체에 의해서 관리 및 중재를 받을 기본 클래스

 

ColleagueA, ColleagueB

  • 실제로 Mediator 객체에 의해서 관리 및 중재를 받는 클래스를 구현한 클래스

 

 

사용 시기 

  • 객체들 사이에 너 무 많은 관계가 얽혀 있을때
  • 객체들 사이의 상호작용 관계가 복잡할때

 

장점

  • 효율적인 자원관리 가능
  • 객체간의 통신을 위해 서로 직접 참조할 필요가 없음
  • 중재자 구현 클래스는 추후에 더 효율적인 클래스로 변경될 수 있음

 

단점

  • 객체간의 통신 로직이 복잡해지거나 객체의 형태가 자주 변경되는 경우 유지보수 및 관리가 어려움

 

728x90

+ Recent posts