티스토리 뷰

공부

[JS] singleton 디자인 패턴 적용하기

seunggabi 승가비 2018. 5. 27. 21:48
728x90

singleton 이란,

객체지향에서 클래스를 통해서 여러 개의 객체 인스턴스를 생성할 수 있는데,

여러 개의 객체를 만들 필요 없이 하나의 객체만 생성하고 그것을 계속 사용할 경우에 

사용하는 디자인 패턴입니다.


주로 객체들이 커뮤니케이션을 할 때, 객체들 사이에서 중개자 역할을 하는 객체를 singleton으로 생성합니다.

(ex) Layer, Manager 등등...


const singleton = (() => {
var singletons = {};

return {
get: function (klass){
if (singletons[klass] === undefined) {
singletons[klass] = new klass(_.without(arguments, klass));
}
return singletons[klass];
}
};
})();



singleton.get(클래스명!)



이렇게 사용할 수 있습니다.

여러 번 위 함수를 호출해도 같은 객체가 반환됩니다.

728x90
댓글
댓글쓰기 폼