본문 바로가기

Knowledge/Design Pattern

퍼사드 패턴 (Facade Pattern)

퍼사드 패턴 (Facade Pattern)


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

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



퍼사드 패턴과 유사한 데코레이터 패턴과 어댑터 패턴을 비교해보면...

  • 데코레이터 패턴 : 객체를 감싸서 새로운 행동을 추가

  • 어댑터 패턴 : 인터페이스를 변경해서 클라이언트에서 필요로 하는 인터페이스로 적응시키기 위한 용도

  • 퍼사드 패턴 : 어떤 서브시스템에 대한 간단한 인터페이스를 제공하기 위한 용도



퍼사드 패턴의 예제

컴퓨터를 작동시키기 위해 우리는 단순히 전원버튼만을 누르지만 이것도 퍼사드 패턴의 예라고 볼 수 있다.

실제로 전원을 키면 일어나는 작업은 한두가지가 아니다.


※ 만약 퍼사드 패턴이 적용되지 않은 컴퓨터라면?



사용자가 일일히 제어하고 통제해야한다.

퍼사드 패턴을 적용시킨다면....



》》 퍼사드 패턴은 클라이언트를 복잡한 서브시스템들과 분리시켜주는 역할을 한다.

》》 퍼사드 패턴은 서브시스템들의 통합된 인터페이스를 제공하지만 서브시스템들을 캡슐화하지는 않는다.