[디자인 패턴] 퍼사드 패턴
퍼사드(Facade) 패턴은 간단한 형태의 디자인 패턴 중 하나다.
퍼사드는 겉으로 드러난 표면 등을 뜻한다.


이 어원처럼 퍼사드 패턴도 복잡한 인터페이스를 단순화해서 그것을 '**표면'**으로 드러내는 형태를 가진다.
정의는 무슨 '여러개의 서브시스템에 대한 통합된 인터페이스를 제공하는...' 것이라고 하는데.
말은 거창하지만 그냥 클래스 여러개를 합쳐서 하나의 클래스를 만드는 것에 불과하다.
추상 클래스도 활용되지 않는 아주 단순한 패턴이다.
예를 들어 특정 작업을 수행하기 위해서 객체 A, B, C의 메서드를 순서대로 사용해야 한다고 치자.


그리고 이걸 순서대로 수행해서 하나의 완성된 흐름을 처리한다 가정한다.
전부 on이 됐다면 설정이 완료. 원하는 작업을 수행하고.
끌 때는 역순으로 off한다.

잘 돌아가긴 한다만...
당연히 코드가 조잡해보임을 알 수 있을 것이다.
이제 저 행위들을 하나의 클래스로 뭉쳐서 캡슐화해보자.
뭉칠 만한 단위는 on과 off가 있겠다.
퍼사드 클래스다.


이러면 사용자 측에서는 훨씬 간단하고 깔끔한 인터페이스로, 동일한 작업을 수행할 수 있다.


이런 게 퍼사드 패턴이다.
진짜 별거없다.
참조
헤드퍼스트 디자인 패턴