Frontend
Javascript 싱글톤 패턴
구라미
2020. 1. 21. 22:48
Javascript 싱글톤 패턴
싱글톤 패턴은 App상에서 단 하나의 인스턴스만 필요할 경우 사용한다. 인스턴스를 메모리 영역상 하나만 존재하게 하여 사용할 수 있는 패턴이다.
- 클래스 함수의 한개의 인스턴스만 유지한다.
- 여러 객체를 생성해도 최초 생성된 객체를 사용하는 것이다.
- 객체에 대한 접근자(비공개 멤버: 클로저)를 사용하여 객체를 공유한다.
예시 코드
var Singleton = (function () {
// instance stores a reference to the Singleton
var instance;
function createInstance() {
// private 변수와 메소드
// private 변수
var _privateVariable = 'I am a private variable';
// private 메소드
function _privateMethod() {
console.log('I am a private method');
}
return {
// public 변수와 베소드
// public 메소드
publicMethod: function() {
console.log('I am a public method');
},
// public 변수
publicVariable: 'I am a public variable'
};
}
return {
// Get the Singleton instance if it exists
// or create one if doesn't
getInstance: function () {
if (!instance) {
instance = createInstance();
}
//인스턴스 리턴
return instance;
}
};
})();
첫번째 객체가 생성된 후 객체를 호출할 때마다 동일한 객체에 대한 참조를 리턴한다.