일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- IOS
- 비동기
- hokeys
- 리액트
- 이종호
- queue
- react
- 자료구조
- Svelte
- 자바스크립트 자료구조
- 리액트 예제
- 개발
- 계명대
- Hitit
- 호키도키
- javascript
- 계명대 이종호
- 스위프트
- jest
- 개발자
- TDD
- 자스민
- data structure
- SWIFT
- 자바스크립트
- 스벨트
- 호키스
- hokidoki
- 힛잇
- HTML
Archives
- Today
- Total
Dog foot print
[GOF] 싱글톤 패턴 본문
싱글턴 패턴
활용
싱글턴 패턴은 시스템 전반에 걸쳐서 어떤 인스턴스가 한개만 생성되고 한개의 사용을 강제하는 것에 있다. 예를 들어 API 를 관장하는 인스턴스는 굳이 모듈별로 인스턴스를 생성하지 않아도 되며, API 인스턴스는 프로퍼티의 변화가 거의 없기 때문에 인스턴스를 계속 생성하면 메모리만 낭비하게 된다.
개발자간의 상호 협의간에 싱글턴 인스턴스를 사용하는 예시
var API = (
()=>{
return {
getData(){
console.log("Data 가져오기")
},
postData(data : any){
console.log(`${data} 전송중`)
}
}
}
)()
API.getData()
API.postData("데이터")
static 인스턴스를 사용하는 방법
class API {
private static instance = new (this._API())
static getInstance() {
return this.instance
}
private static _API() {
return class _API {
getData() {
console.log("데이터 전송 중")
}
postData() {
console.log("데이터 보내는 중")
}
}
}
}
API.getInstance().getData()
API.getInstance().postData()
이 방법은 실제로 구현이 되어있는 _API
와 _API
의 생성을 제한하고 이를 감싸는 API
래퍼로 이루어져 있다. API
클래스는 단순히 _API
를 생성하고 이를 제공해주는 일만 하기 때문에, 인스턴스를 만들어도 의미가 없다. getInstance 함수로 instance 함수를 반환하기 때문에 외부에서는 static인 instance 프로퍼티를 변경할 수가 없게 된다.
반응형
'Architecture' 카테고리의 다른 글
[GOF] 컴포지트 패턴 (0) | 2021.10.31 |
---|---|
[GOF] Builder 패턴 (0) | 2021.10.23 |
[GOF] 추상 팩토리 메서드 패턴 (0) | 2021.10.23 |
[GOF] 팩토리 메서드 패턴 (0) | 2021.10.17 |
[Architecture] S.O.L.I.D [D] (0) | 2021.05.13 |
Comments