주난v 개발 성장기

[디자인 패턴] 퍼사드 패턴 (Facade Pattern) 본문

개발 성장기/디자인 패턴

[디자인 패턴] 퍼사드 패턴 (Facade Pattern)

주난v 2020. 5. 28. 08:31

코드의 중복, 직접적인 의존 해결에 도움을 주는 패턴

 

하위 시스템을 쉽게 사용하게 해주는 인터페이스 정의

고수준의 인터페이스를 정의하기 때문에, 서브 시스템을 쉽게 사용할 수 있다.(캡슐화)

 

사용처

- 캡슐화 되지 않은 코드 처리시에 사용

- 원하는 코드를 다시 작성할 수 없을 때 사용

 

예시

 

집에서 영화를 보기 위한 홈 씨어터 시스템을 구축한다고 가정.

- DVDPlayer, Cdplayer, Projector, Screen, 등 다양한 클래스들이 필요하다.

 

 

영화를 보기 위한 일련의 행동을 나열한다면..

1. 팝콘 기계를 켜고

2. 튀기고

3. 전등을 어둡게 하고

4. 스크린을 내리고....이를 코드로 나열하자면..Too much....(특히 클라이언트 입장에서)

 

 

퍼사드 패턴을 이용하여, 

 

코드를 보면