프런트엔드/디자인 패턴

[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