디자인 패턴(design pattern)

Overloper·2022년 9월 3일
0
post-thumbnail

프로그래밍에서는 다양한 디자인 패턴이 있다. 여기서 디자인 패턴이란
프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 한 규약 이다.
그 중 오늘 올릴 패턴은 싱글톤 패턴이다.

싱글톤 패턴 (Singleton pattern)

싱글톤 패턴 은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다.
주로 활용하는 곳으로는 데이터베이스 연결 모듈에 사용한다.

싱글톤 패턴의 장점

하나의 인스턴스를 만들어 놓고 해당 인스턴스들을 다른 모듈들이 공유하며 사용하기에 인스턴스를 생성할 시 드는 비용이 줄어들 수 있다.

싱글톤 패턴의 단점

의존성이 높아 진다.

라고 간단하게 싱글톤 패턴을 정의 할 수 있을 것 같다.

JavaScript에서의 싱글톤 패턴

js에서는 리터럴 { } 또는 new Object로 객체를 생성하게 되면 다른 어떤 객체와도 같지 않기 때문에 이 자체로 싱글톤 패턴을 구현 할 수 있다. => 아마 서로 다른 메모리를 갖기 때문으로 추정

const obj = {
	a: 27
}

const obj2 = {
	a: 27
}

console.log(obj === obj2)
// false

위에 코드에서 볼 수 있듯이 서로 다른 인스턴스를 가지고 있다.

class Singleton {
	constructor() {
    	if(!Singleton.instance) {
        	Singleton.instance = this
        }
        return Singleton.instance
    }
    getInstance() {
    	return this.instance
    }
}

const a = new Singleton()
const b = new Singleton()

console.log(a === b)
// true

위에 코드는 Singleton.instance 라는 하나의 인스턴스를 가지는 Singleton 클래스를 구현한 코드이다.
이를 통해 알 수 있는 것은 하나의 인스턴스를 구성한다는 것이다.


인스턴스 : 클래스의 현재 생성된 오브젝트를 가르킴.

profile
세계최초 샤머니즘형 프로그래머🛐

0개의 댓글