
출처: 에릭 감마 , 리처드 헬름 , 랄프 존슨 , 존 블리시디스. 『Gof의 디자인 패턴』. 김정아(역). 프로텍미디어, 2015.
[2일차] 브릿지(Bridge)
구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴
타입스크립트로 설명하는 GoF 디자인 패턴의 구조 패턴 7일만에 끝내기 챌린지
브릿지란?
구현에서 추상을 분리하여,
이들이 독립적으로 다양성을 가질 수 있도록 합니다.
활용성
1) 추상적인 개념과 이에 대한 구현 사이의 지속적인 종속 관계를 피하고 싶을 때.
이를 테면, 런타임에 구현 방법을 선택하거나 구현 내용을 변경하고 싶을 때
2) 추상적 개념과 구현 모두가 독립적으로 서브클래싱을 통해 확장되어야 할 때
구조 및 구현
interface Implementor {
operationImp(): void
}
class ConcreteImplementor implements Implementor {
operationImp() {
console.log('ConcreteImplementor')
}
}
class Abstraction {
private imp: Implementor
constructor(imp: Implementor) {
this.imp = imp
}
operation() {
this.imp.operationImp()
}
}
class Main {
abstraction: Abstraction
constructor () {
const imp = new ConcreteImplementor()
this.abstraction = new Abstraction(imp)
this.abstraction.operation() // ConcreteImplementor
}
}
728x90
'프런트엔드 > 디자인 패턴' 카테고리의 다른 글
[4일차] 데코레이터 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
---|---|
[3일차] 컴포지트 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[1일차] 어뎁터 | 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[0일차] 구조 패턴 7일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |
[5일차] 싱글턴 | 생성 패턴 5일만에 끝내기 챌린지 - GoF 디자인 패턴 (0) | 2023.07.16 |