Heim Web-Frontend js-Tutorial js单例模式详解实例_基础知识

js单例模式详解实例_基础知识

May 16, 2016 pm 05:13 PM
单例模式

什么是单例?

单例要求一个类有且只有一个实例,提供一个全局的访问点。因此它要绕过常规的控制器,使其只能有一个实例,供使用者使用,而使用着不关心有几个实例,因此这是设计者的责任

复制代码 代码如下:

In JavaScript, Singletons serve as a shared resource namespace which isolate implementation code from the global namespace so as to provide a single point of access for functions.

在javascript中,单例被当做一个全局的命名空间,提供一个访问该对象的一个点。

使用场景

复制代码 代码如下:

In practice, the Singleton pattern is useful when exactly one object is needed to coordinate others across a system.

单例比较适用于一个对象和其他系统进行交互。

类比

单例有点类似于一个小组的小组长,在一段时间内只有一个小组长,有小组长来指定组员的工作,分配和协调和组员的工作。

实例1:这个是最简单的单例,通过key,value的形式存储属性和方法

复制代码 代码如下:

var A = {
   xx:3,
   yy:4,
   B:function(el){

   },
   C:function(el){

   },
   D:function(el){

   },
   E:function(el){

   }
}


实例2:首先创建一个实例的引用,然后判断这个实例是否存在,如果不存在那么就创建,存在的话,就直接返回,保证有且只有一个。

复制代码 代码如下:

var mySingleton = (function () {

// Instance 存储一个单例实例的引用
var instance;

function init() {

// Singleton

// 私有的方法和变量
function privateMethod(){
    console.log( "I am private" );
}

var privateVariable = "Im also private";

return {

  // 共有的方法和变量
  publicMethod: function () {
    console.log( "The public can see me!" );
  },

  publicProperty: "I am also public"
};

};

return {

// 如果实例不存在,那么创建一个
getInstance: function () {

  if ( !instance ) {
    instance = init();
  }

  return instance;
}

};

})();

var singleA = mySingleton;
var singleB = mySingleton;
console.log( singleA === singleB ); // true

实例3:

复制代码 代码如下:

var SingletonTester = (function () {
  // options: an object containing configuration options for the singleton
  // e.g var options = { name: "test", pointX: 5};
  function Singleton( options )  {
    // set options to the options supplied
    // or an empty object if none are provided
    options = options || {};
    // set some properties for our singleton
    this.name = "SingletonTester";
    this.pointX = options.pointX || 6;
    this.pointY = options.pointY || ;
  }
  // our instance holder
  var instance;
  // an emulation of static variables and methods
  var _static  = { 
    name:  "SingletonTester",
    // Method for getting an instance. It returns
    // a singleton instance of a singleton object
    getInstance:  function( options ) {  
      if( instance  ===  undefined )  {   
        instance = new Singleton( options );  
      }  
        return  instance;     
    }
  };
  return  _static;
})();
var singletonTest  =  SingletonTester.getInstance({
  pointX:  5
});
// Log the output of pointX just to verify it is correct
// Outputs: 5
console.log( singletonTest.pointX );
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ein Artikel zum Verständnis des Singleton-Musters in JavaScript Ein Artikel zum Verständnis des Singleton-Musters in JavaScript Apr 25, 2023 pm 07:53 PM

Das JS-Singleton-Muster ist ein häufig verwendetes Entwurfsmuster, das sicherstellt, dass eine Klasse nur eine Instanz hat. Dieser Modus wird hauptsächlich zur Verwaltung globaler Variablen verwendet, um Namenskonflikte und wiederholtes Laden zu vermeiden. Außerdem kann er die Speichernutzung reduzieren und die Wartbarkeit und Skalierbarkeit des Codes verbessern.

Die Anwendung des Singleton-Modus und des Factory-Modus beim Überladen und Umschreiben von C++-Funktionen Die Anwendung des Singleton-Modus und des Factory-Modus beim Überladen und Umschreiben von C++-Funktionen Apr 19, 2024 pm 05:06 PM

Singleton-Muster: Stellen Sie Singleton-Instanzen durch Funktionsüberladung unterschiedliche Parameter zur Verfügung. Fabrikmuster: Erstellen Sie verschiedene Objekttypen durch Umschreiben von Funktionen, um den Erstellungsprozess von bestimmten Produktklassen zu entkoppeln.

Erste Schritte mit PHP: Singleton-Muster Erste Schritte mit PHP: Singleton-Muster May 20, 2023 am 08:13 AM

Bei der Softwareentwicklung kommt es häufig vor, dass mehrere Objekte auf dieselbe Ressource zugreifen müssen. Um Ressourcenkonflikte zu vermeiden und die Programmeffizienz zu verbessern, können wir Entwurfsmuster verwenden. Unter diesen ist das Singleton-Muster eine häufig verwendete Methode zum Erstellen von Objekten, die sicherstellt, dass eine Klasse nur eine Instanz hat und globalen Zugriff bietet. In diesem Artikel wird die Verwendung von PHP zur Implementierung des Singleton-Musters vorgestellt und einige Best-Practice-Vorschläge gegeben. 1. Was ist der Singleton-Modus? Der Singleton-Modus ist eine häufig verwendete Methode zum Erstellen von Objekten. Seine Eigenschaft besteht darin, sicherzustellen, dass eine Klasse nur eine Instanz hat und bereitstellt

Was ist in PHP das Konzept des Singleton-Entwurfsmusters? Was ist in PHP das Konzept des Singleton-Entwurfsmusters? Aug 18, 2023 pm 02:25 PM

Das Singleton-Muster stellt sicher, dass eine Klasse nur eine Instanz hat und stellt einen globalen Zugriffspunkt bereit. Dadurch wird sichergestellt, dass in der Anwendung nur ein Objekt verfügbar und unter Kontrolle ist. Das Singleton-Muster bietet eine Möglichkeit, direkt auf sein eindeutiges Objekt zuzugreifen, ohne das Objekt der Klasse zu instanziieren. Beispiel<?php classdatabase{ publicstatic$connection;

PHP-Entwurfsmuster: Der Weg zur Code-Exzellenz PHP-Entwurfsmuster: Der Weg zur Code-Exzellenz Feb 21, 2024 pm 05:30 PM

Einführung PHP-Entwurfsmuster sind eine Reihe bewährter Lösungen für häufige Herausforderungen in der Softwareentwicklung. Durch Befolgen dieser Muster können Entwickler eleganten, robusten und wartbaren Code erstellen. Sie unterstützen Entwickler bei der Einhaltung der SOLID-Prinzipien (Single Responsibility, Open-Closed, Liskov Replacement, Interface Isolation und Dependency Inversion) und verbessern so die Lesbarkeit, Wartbarkeit und Skalierbarkeit des Codes. Arten von Designmustern Es gibt viele verschiedene Designmuster, jedes mit seinem eigenen einzigartigen Zweck und seinen eigenen Vorteilen. Hier sind einige der am häufigsten verwendeten PHP-Entwurfsmuster: Singleton-Muster: Stellt sicher, dass eine Klasse nur eine Instanz hat und bietet eine Möglichkeit, global auf diese Instanz zuzugreifen. Factory-Muster: Erstellt ein Objekt, ohne seine genaue Klasse anzugeben. Es ermöglicht Entwicklern dies unter bestimmten Bedingungen

Anwendungsszenarien und Thread-Sicherheitsprozesse des Singleton-Modus in verteilten PHP-Systemen Anwendungsszenarien und Thread-Sicherheitsprozesse des Singleton-Modus in verteilten PHP-Systemen Oct 15, 2023 pm 04:48 PM

Anwendungsszenarien und Thread-Sicherheitsprozesse des Singleton-Modus in verteilten PHP-Systemen Einführung: Mit der rasanten Entwicklung des Internets sind verteilte Systeme zu einem heißen Thema in der modernen Softwareentwicklung geworden. In verteilten Systemen war Thread-Sicherheit schon immer ein wichtiges Thema. In der PHP-Entwicklung ist das Singleton-Muster ein häufig verwendetes Entwurfsmuster, mit dem die Probleme der Ressourcenfreigabe und der Thread-Sicherheit effektiv gelöst werden können. Dieser Artikel konzentriert sich auf die Anwendungsszenarien und Thread-Sicherheitsprozesse des Singleton-Musters in verteilten PHP-Systemen und stellt spezifische Codebeispiele bereit. 1. Singleton-Modus

Analyse gängiger Anwendungsszenarien von Singleton-Mustern in PHP Analyse gängiger Anwendungsszenarien von Singleton-Mustern in PHP Oct 15, 2023 pm 01:25 PM

Überblick über die Analyse gängiger Anwendungsszenarien des Singleton-Musters in PHP: Das Singleton-Muster (SingletonPattern) ist ein Erstellungsentwurfsmuster, das sicherstellt, dass eine Klasse nur eine Instanz hat und einen globalen Zugriffspunkt für den Zugriff auf die Instanz bereitstellt. In PHP kann die Verwendung des Singleton-Modus die Anzahl der Instanziierungen und die Ressourcennutzung einer Klasse effektiv begrenzen und die Leistung und Wartbarkeit des Codes verbessern. In diesem Artikel werden gängige Anwendungsszenarien analysiert und spezifische PHP-Codebeispiele gegeben, um die Verwendung und Vorteile des Singleton-Musters zu veranschaulichen. Datenbankverbindungsrohr

Singleton-Muster in Entwurfsmustern und Anwendung in PHP Singleton-Muster in Entwurfsmustern und Anwendung in PHP Oct 15, 2023 am 08:02 AM

Einführung in das Singleton-Muster in Designmustern und seine Anwendung in PHP: Designmuster sind einige klassische Muster zur Lösung spezifischer Probleme, die von erfahrenen Softwareentwicklern während des Softwaredesignprozesses zusammengefasst werden. Unter diesen ist das Singleton-Muster eines der am häufigsten verwendeten Entwurfsmuster. Das Singleton-Muster stellt sicher, dass eine Klasse nur eine Instanz hat und stellt einen globalen Zugriffspunkt für den Zugriff auf diese Instanz bereit. In PHP wird das Singleton-Muster häufig in verschiedenen Szenarien verwendet. In diesem Artikel werden das Konzept, die Eigenschaften und die spezifischen Anwendungen des Singleton-Musters in PHP ausführlich vorgestellt und relevante Codebeispiele gegeben.

See all articles