#10. [디자인 패턴-구조 패턴] Facade
Facade는 서브시스템의 클래스들이 복잡하게 얽혀있고 사용이 어려운 경우, 단순하고 일관된 상위 수준의 통합 인터페이스를 제공합니다. 외부에서 내부 서브시스템을 몰라도 되므로, 사용하기 쉬워집니다.
설명
다음 그림은 Facade의 일반적인 구조입니다.
Client
는 서브시스템의 클래스인 A, B, C, D, E
를 직접 실행하지 않고, Facade
를 통해 실행합니다. 묻지 말고 말하라 원칙의 대표적인 구현 구조라 할 수 있겠습니다.
특징
서브시스템을 쉽게 사용할 수 있으며, 서브시스템과 Client
코드간의 결합도를 약하게 만드는 효과가 있습니다.
또한, 모듈의 경계에서 Facade를 만들 경우, Facade 바깥으로 예외가 전파되지 않도록 예외 레이어링을 할 수도 있습니다.
댓글남기기