본문 바로가기

Programming/Design Pattern

Facade Pattern

1. 정의

 1) 서브시스템에 있는 여러 개의 인터페이스를 통합하는 한 개의 인터페이스를 제공.

 2) 퍼사드는 서브 시스템을 쉽게 사용할 수 있도록 해주는 고급 수준의 인터페이스를 정의한다.

 

2. 문제

 1) 서브시스템이 너무 많고 사용하기가 복잡함

 

3. 해결방안

 1) 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스 제공

 2) 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용할 수 있음

 

4. 사용 예제

 1) 씨어터 시스템

 

<영화 보기(복잡한 방법)>

팝콘 기계를 켜고 튀기기 시작

전등을 어둡게 조절, 스크린을 내림

프로젝터를 켜고 프로젝터로 DVD 신호 입력

프로젝터를 와이드 스크린 모드로 전환

앰프를 켜고 DVD로 전환

앰프를 서라운드 음향 모드로 전환

앰프 볼륨을 중간(5)로 설정

DVD 플레이어를 켜고 재생 시작

 

<퍼사드 패턴>

여러개의 서브시스템을 한 번에 수행시키는 상위 레벨의 인터페이스를 구성하여

그 인터페이스 하나면 영화를 볼 수 있도록 한다. (매크로와 비슷)

'Programming > Design Pattern' 카테고리의 다른 글

DAO Pattern  (0) 2020.01.03
State Pattern  (0) 2019.12.31
Adapter Pattern 과제  (0) 2019.12.31
Adapter Pattern  (0) 2019.12.31
Command Pattern 과제  (0) 2019.12.31