의도

서브시스템 내의 인터페이스 집합에 대해, 서브시스템 사용을 더 쉽게 하도록 상위 수준의 인터페이스를 정의하는 것. 이로써, 서브시스템들 사이의 커뮤니케이션 & 종속성을 최소화하려는 것.

구성

퍼사드 (Facade)

  • 단순하고 일관 된 통합 인터페이스를 제공,
  • 서브시스템을 구성하는 어떤 클래스가 어떤 요청을 처리하는지 알고 있음.
  • 사용자의 요청을 해당 서비시스템 객체에 전달

서브시스템 클래스

  • 서브시스템 기능 구현
  • 퍼사드 객체로부터 할당된 작업을 실제로 처리 하지만 퍼사드에 대해서는 모름, 참조자도 가지고 있지 않다

Client -> Facade -> (Subsystem Classes)