반응형
SMALL
전략 패턴, 의존성 주입
공통점
- 모두 무언가를 쉽게 교체하기 위한 디자인 패턴
차이점
- 전략 패턴: 어떠한 동일한 행동 계약을 기반으로 다양한 구현이 명시되어있는 인터페이스를 만드는 것을 포함
- 의존성 주입 : 단지 일부 동작을 구현하고 의존성을 주입하기만 하는 패턴
컨텍스트
컨텍스트는 2가지 뜻으로 쓰임
1. 어떤 종류의 상태, 환경을 캡슐화한 것을 말함.
2. 작업d이 중단 되고 나중에 같은 지점에서 계속 될 수 있도록 저장하는 최소 데이터 집합.(ex 컨텍스트 스위칭)

컨텍스트는 context와 contextual information으로 크게 나눠 지는데 다음과 같음
1. 병원에 가면 “이름”과 주민등록번호 앞자리를 말해야함. 여기서 “병원에 방문”하는 context에서 여러분의 이름은 contextual information이 됨
2. HTTP요청을 하는 context에서 HTTP Header는 contextual inforamation이라고 할 수 있음
이러한 이론을 기반으로 한 다양한 모듈 또는 API로는 react.js에서는 전역적으로 “상태”값을 넘길 수 있는 context API가 있음
const ThemeContext = React.createContext("light");
class App extends React.Component {
render() {
return (
<ThemeContext.Provider value="dark">
<Toolbar />{" "}
</ThemeContext.Provider>
);
}
}
function Toolbar() {
return (
<div>
{" "}
<ThemedButton />
</div>
);
}
class ThemedButton extends React.Component {
static contextType = ThemeContext;
render() {
return <Button theme={this.context} />;
}
}
React에서 context API를 통해 전역적으로 static contextType을 통해 상태 관리함
* 참고
- CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 -인프런
반응형
LIST
'CS > 디자인패턴' 카테고리의 다른 글
[CS] flux 패턴 (0) | 2023.09.24 |
---|---|
[CS] MVC 패턴, MVP 패턴, MVVM 패턴 (0) | 2023.09.19 |
[CS] 프록시 패턴 (0) | 2023.09.18 |
[CS] 옵저버 패턴 (0) | 2023.09.06 |
[CS] 전략 패턴 (0) | 2023.09.05 |
댓글