JavaScriptのシングルカラムモードとシングルモードの定義とアプリケーションコードの詳細説明

伊谢尔伦
リリース: 2017-07-24 14:01:23
オリジナル
1353 人が閲覧しました

Single パターン:

Single は、名前空間を分割し、関連するプロパティとメソッドのグループをまとめて編成するために使用されるオブジェクトです。インスタンス化できる場合、インスタンス化できるのは 1 回だけです。

機能:

名前空間を分割して、グローバル変数によって引き起こされる危険性を排除できます。

分岐テクノロジーを使用して、ブラウザ間の違いをカプセル化します。

コードをより統合して整理できるため、読みやすく、保守しやすくなります。

コードの実装:

/*Basic Singleton*/
var Singleton = {
  attribute:true,
  method1:function(){},
   method2:function(){}
};
ログイン後にコピー

アプリケーション シナリオ:

シングル モードは、コードを一緒にカプセル化して 1 つの入り口のみを公開することと同等であり、それによってすべての変数の汚染が回避されます。

シングルトン パターン

シングルトン パターンは、インスタンスが 1 つだけあるオブジェクトの作成プロセスを定義し、それにアクセスするためのグローバル アクセス ポイントを提供します。シングルトンは、クラスにインスタンスが 1 つだけ存在することを保証するものであるとも言えます。実装方法は、まずインスタンスが存在するかどうかを判断し、存在しない場合はインスタンスを作成します。これにより、クラスにはインスタンス オブジェクトが 1 つだけ存在することが保証されます。

コードの実装:

シングルトンを実装するには多くの方法があります。そのうちの 1 つだけを以下に紹介します。これは、クロージャを使用してシングルトンを実装する方法です。

var single = (function(){
  var unique;
  function getInstance(){
    // 如果该实例存在,则直接返回,否则就对其实例化
    if( unique === undefined ){
      unique = new Construct();
    }
    return unique;
  }
  function Construct(){
    // ... 生成单例的构造函数的代码
  }
  return {
    getInstance : getInstance
  }
})();
ログイン後にコピー

上記のコードでは、 unique は を返します。オブジェクトを参照し、getInstance はインスタンスを取得する静的メソッドです。 Construct はインスタンスを作成するコンストラクターです。

single.getInstance() を通じて単一のインスタンスを取得でき、呼び出すたびに同じ単一のインスタンスが取得されます。これがシングルトン パターンで実現されることです。

使用シナリオ:

シングルトン モードは、一般的に使用されるモードです。グローバル キャッシュやブラウザのウィンドウ オブジェクトなど、多くの場合 1 つだけ必要なオブジェクトがいくつかあります。 js開発ではシングルトンパターンも広く使われています。想像してみてください。ログイン ボタンをクリックすると、ページにログイン ボックスが表示されます。このフローティング ウィンドウは、ログイン ボタンを何度クリックしても 1 回しか作成されません。したがって、このログイン フローティング ウィンドウはシングルトン モードに適しています。

使用シナリオを要約します。

1. 名前空間を分割するために使用できます

2. シングルトン モードを使用すると、コードをより一貫して整理でき、読みやすく保守しやすくなります

以上がJavaScriptのシングルカラムモードとシングルモードの定義とアプリケーションコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!