중재자(Mediator) 패턴: 행위패턴
클래스 간의 복잡한 관계들을 캡슐화하여 하나의 클래스에서 관리하도록 처리하는 패턴
중재자 패턴을 사용하면 객체 간 통신은 중재자 객체 안에 함축된다. 객체들은 더 이상 다른 객체와 서로 직접 통신하지 않으며 대신 중재자를 통해 통신한다. 이를 통해 통신 객체 간 의존성을 줄일 수 있으므로 결합도를 감소시킨다.
M:N 관계를 해당 패턴을 사용하면 M:1 관계로 만들어 복잡도를 내리므로 유지 보수 및 확장성에 유리하다.
느슨한 결합(loose coupling)을 유지할 수 있고 전체적인 흐름을 읽기 편해진다.
- Mediator: 객체 간의 상호참조를 위한 인터페이스.
- Colleague: 다른 Colleague와의 상호참조를 위한 인터페이스.
- ConcreteMediator: Mediator 구현 클래스. Colleague 간의 상호참조를 조정
- ConcreteColleage: Colleague 구현 클래스. Mediator를 통해 다른 Colleague와의 상호참조
스팀 - 게임 간의 관계를 예제로 만들다가 중재자 패턴에 안맞는 거 같아 다 날려버렸다.
얘도 주말에 보는 것으루..
Reference
'OOP > Design Pattern' 카테고리의 다른 글
18. 옵저버(Observer) 패턴 (0) | 2023.02.25 |
---|---|
17. 메멘토(Memento) 패턴 (0) | 2023.02.25 |
15. 이터레이터(iterator) 패턴 (0) | 2023.02.21 |
14. 인터프리터(Interpreter) 패턴 (0) | 2023.02.21 |
13. 커맨드(Command) 패턴 (0) | 2023.02.20 |