C#/GoF 디자인패턴

[GoF]19. 중재자 패턴(Mediator Pattern)

공부를하자 2023. 12. 5. 00:22

1.정의

-중재자 패턴은 프로그램의 상호작용을 해야 하는 개체들이 서로 복잡하게 관계를 맺고 있을 때 상호작용에 관한 행동을 별도의 형식으로 정의하여 중재하는 개체를 만드는 패턴.

-복잡한 상호작용은 결합도가 강해지고 유연성이 떨어져서 재사용하기 힘들 경우가 발생 있다.

-중재자 패턴를 통해 부분적으로만 결합도를 유지하여 유연성과 재사용성을 높인다.

2.다이어그램

-Camera 클래스는 사용자와 상호작용하는 객체로 입력값을 받아 기능을 작동시킨다.

-IChange 인터페이스는 중재자 객체의 인터페이스로 기능을 약속한다.

-InnerMediator클래스는 중재자 객체로 약속한 기능을 실질적으로 구현한다.

-InnerModule 클래스는 내부 기능을 약속하는 추상클래스이다.

-Iris클래스(조리개 기능) Shutter(셔터기능)클래스는 내부 기능을 실질적으로 구현한다.

3.구현

1)IChange 인터페이스

 

2)InnerMediator클래스

 

3)InnerModule 클래스

 

4)Iris클래스(조리개 기능) Shutter(셔터기능)클래스

 

 

5)Camera 클래스

6)테스트