私は初心者ですので、私と一緒に、私はシングルトンパターンを見て、それを実装する方法を理解するのは非常に難しいです、と私はいくつかの人々がほとんどの時間を避けることを提案するだろう知っているので、私はそれが理解しやすいと思うバリエーションしかし、何とか私はこれがこのパターンの最高の実装ではないと感じます、あなたはこのパターンのより良い形を提案することができます。このシングルトンパターンには何か問題がありますか?
var Foo = (function() {
var instance;
var _priVar = 2;
var log = function() {
console.log("Hello");
};
function Singleton(x, y) {
if (instance) {
return instance;
}
this.name = x;
this.age = y + _priVar;
this.log = log;
instance = this;
}
Singleton.getInstance = function() {
return instance || new Singleton();
}
return Singleton;
}());
var a = new Foo("Bob", 24); var b = new Foo(); var c = Foo(); var d = Foo.getInstance();
を次の手順を実行したときに、我々はまだ取得することである
a == b // true
a == c // true
a == d // true
a.name // 'Bob'
b.age // 26
c.log // 'Hello'
d.name // 'Bob'
もモジュールパターンとして知られている最も簡単なシングルトンは、オブジェクトリテラルで構成さのおかげで、
あなたが望むところでは、コードはうまく機能します。 – passion
「私たちはまだ手に入れます」 - あなたはそれを得ます - 何が問題なのですか? –
ほとんどの場合、[シングルトンパターン自体に問題があります](http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons)、あなたの特定の実装はこれらの問題を継承します。 – Bergi