Facade Pattern
- 간단한 창구
- 서브시스템이 여러개인 경우 이를 통합한 하나의 인터페이스 제공
- 서브시스템을 좀 더 편하게 이용하기 위한 높은 수준의 인터페이스 정의
- 각 서브시스템의 역할이나 의존관계를 내부에서 올바는 순서로 사용할 수 있도록 외부에는 간단한 인터페이스만 오픈
- 클라이언트와 서브시스템 간의 결합도를 줄임
- ex: 컴파일, 자바 라이브러리
=> 라이브러리에 대한, 프레임워크에 대한 또는 다른 클래스들의 복잡한 집합에 대한 단순화된 인터페이스를 제공하는 구조적 디자인 패턴
- 최소지식 원칙
- 결합도가 낮은 설계를 위한 원칙
- 객체가 서로 상호작용하는 개수와 방식에 주의 해야함
- 여러 클래스가 복잡하게 얽히지 않고 의존 관계를 적게해야 수정할 때 사이드 이펙트가 발생하지 않음
사용
1. 객체 자체 2. 메소드의 매개 변수로 전달된 객체 3. 메소드를 생성하거나 인스턴스를 만들 객체 4. 객체에 속하는 구성 요소출처
이 글은 인프런 박은종 강사님의 강의 내용을 정리하기 위하여 작성하였습니다.