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

Mediator
- 여러 Colleague 객체들을 중재하는 인터페이스를 정의한 추상 클래스
ConcreteMediator
- Colleague 객체들을 가지고 있으면서 중재햐ㅐ주는 역할을 하는 클래스
Colleaguge
- Mediator 객체에 의해서 관리 및 중재를 받을 기본 클래스
ColleagueA, ColleagueB
- 실제로 Mediator 객체에 의해서 관리 및 중재를 받는 클래스를 구현한 클래스
사용 시기
- 객체들 사이에 너 무 많은 관계가 얽혀 있을때
- 객체들 사이의 상호작용 관계가 복잡할때
장점
- 효율적인 자원관리 가능
- 객체간의 통신을 위해 서로 직접 참조할 필요가 없음
- 중재자 구현 클래스는 추후에 더 효율적인 클래스로 변경될 수 있음
단점
- 객체간의 통신 로직이 복잡해지거나 객체의 형태가 자주 변경되는 경우 유지보수 및 관리가 어려움
728x90
'코드 > GOF' 카테고리의 다른 글
디자인 패턴 - 행위(Behavioral) 패턴 (8) 옵저버 패턴(observer Pattern) (2) | 2024.03.18 |
---|---|
디자인 패턴 - 행위(Behavioral) 패턴 (7) 메멘토 패턴(Memento Pattern) (0) | 2024.03.18 |
디자인 패턴 - 행위(Behavioral) 패턴 (5) 반복자 패턴(Iterator Pattern) (0) | 2024.03.18 |
디자인 패턴 - 행위(Behavioral) 패턴 (4) 명령 패턴(Command Pattern) (0) | 2024.03.18 |
디자인 패턴 - 행위(Behavioral) 패턴 (3) 책임 연쇄 패턴(Chain Of Responsibility Pattern) (0) | 2024.03.18 |