Foo
の複数のインスタンスを作成できる JavaScript のオブジェクトのようなクラス ( と呼ばれる) を作成しようとしていますFoo
。複数のインスタンスとは、各インスタンスが個別の内部状態を維持することを意味します。これが私がそれを達成している方法です。
var Foo = function() {
function init(a) {
this.a = a
}
function state() {
return this.a
}
function getFoo() {
return {
init: init,
state: state
}
}
return {
getFoo: getFoo
}
}()
var a = Foo.getFoo()
var b = Foo.getFoo()
a.init(10)
b.init(20)
alert(a.state() + ', ' + b.state())
ご覧のとおりFoo.getFoo()
、Java で通常使用される Factory パターンをシミュレートしているように見えます。内部状態は変数ですthis.a
。2 つの異なる内部状態が表示されるためa.state()
、この試みは成功したと考えています。b.state()
ただし、これは純粋に私の試みであり、これらが業界でどのように実装されているかについては何も知りません。
さて、私の質問はコード レビューのリクエストのように見えるかもしれませんし、クローズされる危険性があるので、できるだけ客観的な質問をしようと思います。
- 内部状態として
new
クラスの新しいインスタンスを作成する代わりに演算子を使用できるように、同じコードをどのように実装できますか?this.a
- 業界で記述されたファクトリ パターンを使用したコードはどのようになっていますか?