복잡한 과정을 간단하게 제공
Intent
Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.
Implementation

Applicablity
- 복잡한 Subsystem의 인터페이스를 제한하고 싶을때
- Subsystem을 계층 구조로 나타내고 싶을때
Examples
javax.faces.context.ExternalContext
uses ServletContext
, HttpSession
, HttpServletRequest
, HttpServletResponse
and others inside.Code Exampl
Facade
가 package-private
으로 정의된 HelpSystemN
클래스에 대한 입구를 제공해줌Specific problems
- Facade는 일반적으로 Singleton 으로 제공되는것이 좋다.