JSシングルトンパターンの詳細例_基礎知識

WBOY
リリース: 2016-05-16 17:13:22
オリジナル
1358 人が閲覧しました

シングルトンとは何ですか?

シングルトンでは、クラスがグローバル アクセス ポイントを提供するインスタンスを 1 つだけ持つ必要があります。したがって、ユーザーが使用できるインスタンスが 1 つだけになるように、通常のコントローラーをバイパスする必要があります。ユーザーはインスタンスの数を気にしません。したがって、これは設計者の責任です

コードをコピー コードは次のとおりです:

JavaScript では、シングルトンは実装コードをグローバルから分離する共有リソース名前空間として機能します。名前空間を使用して、関数への単一アクセス ポイントを提供します。

JavaScript では、シングルトンはグローバル名前空間として扱われ、オブジェクトへのアクセス ポイントを提供します。

使用シナリオ

コードをコピー コードは次のとおりです:

実際には、システム全体で他のオブジェクトを調整するために 1 つのオブジェクトだけが必要な場合に、シングルトン パターンが役立ちます。

アナロジー

単一のケースは、グループのチーム リーダーに似ています。一定期間のチーム リーダーは 1 人だけであり、チーム リーダーはチーム メンバーの仕事を指定し、チーム メンバーの仕事を割り当て、調整します。 。

例 1: これは最も単純なシングルトンで、属性とメソッドをキーと値の形式で保存します

コードをコピー コードは次のとおりです:var A = {
xx: 3,
yy:4,
B:function(el){

},
C:function(el){

},
D: function(el ){

},
E:function(el){

}
}



例 2: まずインスタンスへの参照を作成し、次にインスタンスが存在するかどうかを確認し、存在する場合はそれを直接返し、存在することを確認します。インスタンスは 1 つだけです。


コードをコピー コードは次のとおりです。var mySingleton = (function () {
//インスタンスはシングルトン インスタンスへの参照を保存します
var instance;

関数 init() {

// シングルトン

//プライベートメソッドと変数

function privateMethod(){

console.log( "I am private" );

}

var privateVariable = "私もプライベートです";

リターン {

// 共有メソッドと変数

publicMethod: function () {

console.log( "The public can see me!" );

},

publicProperty: "私もパブリックです"
};

};

リターン {

// インスタンスが存在しない場合は、

getInstance: function () {

を 1 つ作成します

if ( !instance ) {
インスタンス = init();

}


インスタンスを返します;
}

};

})();

var singleA = mySingleton;

var singleB = mySingleton;

console.log( singleA === singleB ) // true




例 3:

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