シングルピースモードの説明
1。説明:シングルピースモードは、静的アクセスにインスタンス化されたオブジェクトです。このオブジェクトは、ユニークな入り口、インスタンスまたはインスタンス化されたオブジェクトからのみアクセスできます。 Javaや.NET C#などのサーバー側の動的言語では、クラス操作がスムーズに実行されるようにし、データの混乱を引き起こす並列操作を回避できます。
2。シングルピースモードの利点:
1>。頻繁なメモリ操作の高速化とメモリの占有を避けるために、新しい操作を削減します。
2>。大規模システムのオブジェクトのオーバーヘッドを最小化します。
3>。上記のように、特定の種類の操作には、並列処理によって引き起こされるデータの異常を回避するために、正確なシーケンスと操作があることを保証できます。
もちろん、上記の利点はすべてサーバー言語にあります。 JavaScriptのような弱い言語では、スクリプトが自分のクライアントで動作しているため、操作の競合に問題はないため、あまり心配しないでください。サーバー全体を単独で使用するのと同等です。そのため、誰がデータを操作するか心配しないでください。
インスタンスソースコード
コードコピーは次のとおりです。
var singleton = {
インスタンス:null、
mailsender:function(){
var self = this;
self.to = '';
self.title = '';
self.content = '';
self.send = function(){
//ボディを送信します
}
}、
getInstance:function(){
if(this.instance == null){
this.instance = new singleton.mailsender();
}
this.instanceを返します。
}
}
使い方:
コードコピーは次のとおりです。
var mail = singleton.getInstance();
mail.to = 'toname#mail.com';
mail.title = 'シングルピースモード送信';
mail.content = 'content'を送信 ';
mail.send();
DWZのような豊富なUIフレームワークなどのいくつかのグローバルなフレームワークは、グローバルなSingletonを作成し、Singleton.Instanceにはそれを再び作成する必要はありません。
もちろん、このように書かれている場合、それはより明確で、サーバー言語と同じになります。
コードコピーは次のとおりです。
singleton.getInstance()。to = 'toname#mail.com';
singleton.getInstance()。title = 'シングルピースモード送信';
singleton.getInstance()。content = 'send content';
singleton.getInstance()。send();
その他の実際の指示
シングルピースモードはどこで便利ですか?たとえば、大規模な同時操作など、オペレーションサーバーに統一された構成ファイルがある場合、Exchangeの操作プロセスレコードなど、最初に来てから到着する状況に注意を払う必要があります。
また:シングルピースモードメソッド:
1。上記の方法は怠zyと呼ばれます
2。空腹の棒の方法:
コードコピーは次のとおりです。
var singleton = {
インスタンス:新しいsingleton.mailsender()、
mailsender:function(){
var self = this;
self.to = '';
self.title = '';
self.content = '';
self.send = function(){
//ボディを送信します
}
}、
getInstance:function(){
this.instanceを返します。
}
}
同じ方法。
閉鎖を使用してシングルピースパターンを作成し、インスタンスオブジェクトを非表示にします
1。コード:
コードコピーは次のとおりです。
var singleton =(function(){
var instance = null;
function mailsender(){
this.to = '';
this.title = '';
this.content = '';
}
mailsender.prototype.send = function(){
//ボディを送信します
}
戻る {
getInstance:function(){
if(instance == null){
instance = new MailSender();
}
インスタンスを返す;
}
}
})();
2。使用方法:
コードコピーは次のとおりです。
//同じ使用法
var mail = singleton.getInstance();
mail.to = 'toname#mail.com';
mail.title = '閉じたシングルピースモード送信';
mail.content = 'content'を送信 ';
mail.send();