Facade 패턴은 복잡한 서브시스템에 단순화된 인터페이스를 제공합니다 — 그 복잡성을 하나의 깔끔한 진입점 뒤에 숨깁니다. 복잡한 컴포넌트 집합을 사용하기 쉽게 만들되, 하위 세부사항에 대한 접근을 제거하지는 않습니다.
Facade 패턴이 하는 일
FACADE → 복잡한 서브시스템 앞에 단순한 인터페이스:
→ 서브시스템은 많은 컴포넌트/단계를 가짐; facade는 하나의 쉬운 인터페이스를 제공
→ 클라이언트는 복잡성을 직접 다루는 대신 단순한 facade를 사용
→ facade가 하위 컴포넌트들을 조율함
→ 깔끔하고 사용하기 쉬운 인터페이스 뒤로 복잡성을 숨김
예시
{
() {
codec = ().(file);
decoded = ().(file, codec);
result = ().(decoded, format);
result;
}
}
().(, );
