JavaScript のシングルトン パターン: シンプルさとクリーンさの実現
JavaScript では、シングルトン パターンの実装はさまざまな方法で実現できますが、何が現状なのかシンプルさと清潔感の追求です。これらの性質を具体化するアプローチの 1 つは、以下に示すように、オブジェクト リテラルを直接作成することです。
var myInstance = { method1: function () {}, method2: function () {} };
このメソッドは、オブジェクト リテラルを通じてパブリック インターフェイスを確立し、そのメンバーがコードの他の部分からアクセスできるようにします。
ただし、プライベート メンバーが必要な場合は、モジュール パターンが一般的なソリューションとして浮上します。
var myInstance = (function() { var privateVar = ''; function privateMethod () {} return { // public interface publicMethod1: function () {}, publicMethod2: function () {} }; })();
モジュール パターンクロージャを活用して、シングルトン インスタンス内のプライベート メンバーをカプセル化します。
変更を防止し、不変性を確保するには、ES5 Object.freeze メソッドを利用できます。
Object.freeze(myInstance);
このアクションにより、変更がシングルトン オブジェクトの構造または値は拒否されます。
ES6 では、ES モジュールは、 singletons:
// my-singleton.js const somePrivateState = [] function privateFn () {} export default { method1() {}, method2() {} }
モジュール スコープには、パブリック メソッドとプライベート変数の両方が便利に格納されます。シングルトンを他のモジュールにインポートするのは単純な作業のままです。
import myInstance from './my-singleton.js'
これらのアプローチを採用することで、JavaScript コードにシングルトン パターンの多用途性とシンプルさを与え、共有リソースの制御されたアクセスと管理を可能にします。
以上がJavaScript でシンプルでクリーンなシングルトン パターンを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。