>  기사  >  웹 프론트엔드  >  JavaScript의 싱글톤 패턴(Javascript의 싱글톤)_js 객체지향

JavaScript의 싱글톤 패턴(Javascript의 싱글톤)_js 객체지향

WBOY
WBOY원래의
2016-05-16 18:25:16997검색

싱글턴 패턴의 기본 구조:

코드 복사 코드는 다음과 같습니다.

MyNamespace .Singleton = function () {
return {};
}();

예:
코드 복사 코드는 다음과 같습니다.

MyNamespace.Singleton = (function() {
return { // Public 멤버.
publicAttribute1: true,
publicAttribute2: 10,
publicMethod1: function() {
...
},
publicMethod2: function(args) {
...
}
};
})( );

그런데 코드가 로드되자마자 바로 생성되는 싱글턴은 어떻게 해야 할까요? C#에서 싱글톤을 구현하는 방법을 상상해 보세요 :) 다음 패턴을 사용하세요.
코드 복사 코드는 다음과 같습니다.

MyNamespace.Singleton = (function() {
function constructor() { // 일반적인 싱글톤 코드는 모두 여기에 들어갑니다.
...
}
return {
getInstance: function() {
// 여기에 제어 코드를 입력합니다.
}
}
})()

구체적으로는 싱글턴 Put을 만듭니다. 생성자에 코드를 추가하고 처음 호출될 때 인스턴스화합니다.
전체 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

MyNamespace.Singleton = (function() {
var UniqueInstance; // 단일 인스턴스를 보유하는 Private 속성.
function constructor() { // 모든 일반 싱글톤 코드가 여기에 들어갑니다.
...
}
return {
getInstance: function() {
if(!uniqueInstance) { // 다음과 같은 경우에만 인스턴스화합니다. 인스턴스가 존재하지 않습니다.
uniqueInstance = constructor();
}
return UniqueInstance;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.