私は明らかになったモジュールパターンとプロトタイプのクラスパターンを見てきました。私は、2つを一緒に明示的なクラスパターンに適合させるようにしました。私は、このパターンの問題があるのか、うまくいかないのかを把握しようとしています。オブジェクトのコンストラクタがtypeof "function"である限り、私は問題はないと思います。クラスパターンとプロトタイプメソッドの公開?
私が思いつくことができる唯一の注意点は、新しいクラスが作成されるたびにプライベート関数が作成される大量のインスタンス化されたクラスです。これにより、何千ものインスタンス化でメモリの問題が発生する可能性があります。しかし、メモリに蓄積されない大規模なクラスの場合、私の考えはコードの可読性が向上し、セキュリティにはメリットがあるかもしれません。関数を非公開にし、それらを明らかにすることにより、難読化器は内部関数をすべて最小限に抑え、目を引くのが難しくなります。確かに、それは完全ではありませんが、保護の余分な層です。さらに、関数内部で作業することができれば、クラス内で数百回の「this」が削除されます。おそらくそれは小さな利点ですが、複雑なコードの場合は読みやすさが向上します。誰もがパターンに大きな問題を見ていますか?
//standard pattern
var MyClass = function() {
this.func1 = function() {
//dostuff
};
};
MyClass.prototype.func2 = function() {
this.func1();
//dostuff
};
-
//revealing class pattern
var MyClass = function() {
function privateFunc() {
//dostuff
}
function publicFunc() {
privateFunc();
//dostuff
}
this.publicFunc = publicFunc;
};
あなたの作品*を使用してください*。絶対的なものはありません。 – zerkms
[JavaScriptで 'prototype'と 'this'の使用?](http://stackoverflow.com/q/310870/218196)と他のリンクされた質問を参照してください。 –