최근에 아래에 표시된 coffeescript에서 싱글 톤 패턴 클래스를 사용합니다. 완벽하게 작동하지만 왜 이것이 싱글 톤 패턴이 될 수 있는지 알 수 없습니다. 이것은 바보 같은 질문 일 수도 있지만 답변 해 주셔서 감사합니다.coffeescript의 싱글 톤 클래스
#coffeescript
class BaseClass
class Singleton
singleton = new Singleton()
BaseClass = -> singleton
a = new BaseClass()
a.name = "John"
console.log a.name # "John"
b = new BaseClass()
b.name = "Lisa"
console.log b.name # "Lisa"
console.log a.name # "Lisa"
아래 코드는
var BaseClass, a, b;
BaseClass = (function() {
var Singleton, singleton;
function BaseClass() {}
Singleton = (function() {
function Singleton() {}
return Singleton;
})();
singleton = new Singleton();
BaseClass = function() {
return singleton;
};
return BaseClass;
})();
a = new BaseClass();
a.name = "John";
console.log(a.name);
b = new BaseClass();
b.name = "Lisa";
console.log(b.name);
console.log(a.name);
편집
위의 코드에 의해 생성되는 자바 스크립트입니다 : 나는 '싱글 톤 패턴'도 어떻게 일반적으로 생성되지만의 정의를 요구 하진 않았어 위의 코드가 항상 새로운 인스턴스를 만드는 대신 동일한 인스턴스를 반환하는 이유.
디버거에서이 코드를 실행하면 '왜'또는 '어떻게'이 코드가 무엇을하는지 볼 수 있습니다. –