프런트엔드/디자인 패턴
[5일차] 퍼사드 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴
조드래곤나인
2023. 7. 16. 14:53

출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015.
[5일차] 퍼사드(Facade)
구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴
타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지
퍼사드란?
한 서브시스템 내의 인터페이스 집합에 대한
획일화된 하나의 인터페이스를 제공하는 패턴으로,
서브시스템을 사용하기 쉽도록 상위 수준의 인터페이스를 정의합니다.
활용성
1) 복잡한 서브시스템에 대한 단순한 인터페이스 제공이 필요할 때
2) 추상 개념에 대한 구현 클래스와 사용자 사이에 너무 많은 종속성이 존재할 때
3) 퍼사드의 사용을 통해 사용자와 다른 서브시스템 간의 결합도를 줄이고 싶을 때
구조 및 구현
class Facade {
private subClass1 = new SubClass1()
private subClass2 = new SubClass2()
operation() {
this.subClass1.operation()
}
request() {
this.subClass2.request()
}
}
class SubClass1 {
operation() {}
}
class SubClass2 {
request() {}
}
class Main {
constructor() {
const facade = new Facade()
facade.operation()
facade.request()
}
}
공식 기술블로그 링크
더넥스트웹리서치랩
웹 클라이언트 기술을 전문적으로 연구하고 자료를 발행하는 기술 블로그를 운영합니다.
the-next-web-research-lab.github.io
728x90