본문 바로가기

프로그래밍 강의 메모/코딩으로 학습하는 GoF의 디자인 패턴_백기선

행동 관련 디자인 패턴 > 중재자 패턴(Mediator Pattern)

https://inf.run/6Shr

 

코딩으로 학습하는 GoF의 디자인 패턴 - 인프런 | 강의

디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할

www.inflearn.com

 

 

중재자 패턴

  • 행동 관련 디자인 패턴.
  • 여러 객체들이 소통하는 방법을 캡슐화하는 패턴.
  • 여러 컴포넌트 간의 결합도를 중재자를 통해 낮출 수 있다.

 

 

여러 컴포넌트들이 있고 각각의 컴포넌트들이 서로 직접 의사소통을 하고 있다고 가정한다면,

각각의 컴포넌트들이 강하게 결합하게 된다.

 

이럴경우 코드 구현, 변경, 테스트, 재사용하기 모두 어렵다.

 

 

 

 

 

 

모든 Colleague들은 Mediator 인터페이스를 참조하고 있다.

Colleague가 Colleague를 직접 참조하는 것이 없다는 점이 중요하다.

Colleague가 Mediator를 참조하고 있고 Mediator를 실체화한 ConcreteMediator가 각각의 Colleague들을 참조하고 있다.

서로의 협동이 필요한 경우 Mediator를 통해서 일이 처리되도록 구조화시키는 패턴이다.

 

 

 

 

 

 



 

중재자 패턴의 장점

1. 컴포넌트 코드를 변경하지 않고 새로운 중재자를 만들어 사용할 수 있다.

2. 각각의 컴포넌트 코드를 보다 간결하게 유지할 수 있다.

 

 

 

 

 

 

https://refactoring.guru/ko/design-patterns/mediator

 

Mediator

/ Design Patterns / Behavioral Patterns Mediator Also known as: Intermediary, Controller Intent Mediator is a behavioral design pattern that lets you reduce chaotic dependencies between objects. The pattern restricts direct communications between the obje

refactoring.guru