[디자인패턴] Facade

한지연·2023년 2월 6일
0

Facade Pattern

  • 간단한 창구
  • 서브시스템이 여러개인 경우 이를 통합한 하나의 인터페이스 제공
  • 서브시스템을 좀 더 편하게 이용하기 위한 높은 수준의 인터페이스 정의
  • 각 서브시스템의 역할이나 의존관계를 내부에서 올바는 순서로 사용할 수 있도록 외부에는 간단한 인터페이스만 오픈
  • 클라이언트와 서브시스템 간의 결합도를 줄임
  • ex: 컴파일, 자바 라이브러리
    => 라이브러리에 대한, 프레임워크에 대한 또는 다른 클래스들의 복잡한 집합에 대한 단순화된 인터페이스를 제공하는 구조적 디자인 패턴

- 최소지식 원칙

  • 결합도가 낮은 설계를 위한 원칙
  • 객체가 서로 상호작용하는 개수와 방식에 주의 해야함
  • 여러 클래스가 복잡하게 얽히지 않고 의존 관계를 적게해야 수정할 때 사이드 이펙트가 발생하지 않음

사용

1. 객체 자체
2. 메소드의 매개 변수로 전달된 객체
3. 메소드를 생성하거나 인스턴스를 만들 객체
4. 객체에 속하는 구성 요소

출처

이 글은 인프런 박은종 강사님의 강의 내용을 정리하기 위하여 작성하였습니다.

profile
배우고 활용하는 것을 즐기는 개발자, 한지연입니다!

0개의 댓글