Konzept und Verwendung von Befehlsmustern in JS (ausführliches Tutorial)
Dieser Artikel stellt hauptsächlich das Konzept und die Verwendung des Befehlsmodus im JS-Entwurfsmuster vor. Er beschreibt kurz das Prinzip und die Funktion des Befehlsmodus und analysiert die relevanten Definitions- und Verwendungsfähigkeiten des Befehlsmodus in Form von Javascript-Beispielen kann darauf verweisen
Die Beispiele in diesem Artikel beschreiben das Konzept und die Verwendung des Befehlsmusters von JS-Entwurfsmustern. Teilen Sie es als Referenz mit allen:
Der Kunde erstellt den Befehl; der Empfänger führt die entsprechende Operation aus, wenn der Befehl ausgeführt wird.
Einfache Befehlsobjekte sind Wird im Allgemeinen zum Eliminieren von zwei Objekten (Anruf (Sender und Empfänger)) verwendet, während komplexe Befehlsobjekte im Allgemeinen zum Einkapseln unteilbarer oder transaktionaler Anweisungen verwendet werden.
Der Hauptzweck des Befehlsmusters besteht darin, das aufrufende Objekt (Benutzeroberfläche, API, Proxy usw.) von dem Objekt zu isolieren, das die Operation implementiert. Dieses Muster kann immer dann verwendet werden, wenn die Interaktion zwischen zwei Objekten einen höheren Grad an Modularität erfordert. Der Befehl
bedeutet die Verwendung einer einfachen Methode oder Funktion, um die eigentliche Operation im Zusammenhang mit diesem Befehl auszuführen. Genau wie das Einschalten des Fernsehers mit einer Fernbedienung können Sie den Fernseher mit nur einer Taste einschalten, was einfach und bequem ist. Wir müssen uns nicht um die spezifischen Implementierungsvorgänge kümmern. Das übernimmt der Fernseher. Der Fernseher stellt eine Schnittstelle (Signal) zur Fernbedienung bereit, und die Fernbedienung muss diese Schnittstelle nur implementieren, wenn sie angeklickt wird.
Befehl: definiert die Schnittstelle des Befehls und deklariert die Ausführungsmethode.
ConcreteCommand: Das Befehlsschnittstellen-Implementierungsobjekt ist eine „virtuelle“ Implementierung. Es enthält normalerweise den Empfänger und ruft die Funktion des Empfängers auf, um die vom Befehl auszuführende Operation abzuschließen.
Empfänger: Empfänger, das Objekt, das den Befehl tatsächlich ausführt. Jede Klasse kann Empfänger werden, solange sie die entsprechenden, vom Befehl geforderten Funktionen implementieren kann.
Aufrufer: Erfordert das Befehlsobjekt, um die Anforderung auszuführen. Es enthält normalerweise das Befehlsobjekt und kann viele Befehlsobjekte enthalten. Hier löst der Client tatsächlich den Befehl aus und erfordert, dass der Befehl die entsprechende Operation ausführt, was dem Zugriff auf das Befehlsobjekt entspricht.
Client: Erstellen Sie ein bestimmtes Befehlsobjekt und legen Sie den Empfänger des Befehlsobjekts fest. Beachten Sie, dass dies kein Client im herkömmlichen Sinne ist, sondern das Befehlsobjekt und den Empfänger zusammenstellt. Vielleicht wäre es besser, diesen Client einen Assembler zu nennen, da der Client, der den Befehl tatsächlich verwendet, die Ausführung vom Invoker auslöst
Musteranalyse
1. Der Kern des Befehlsmusters besteht darin, Befehle zu kapseln und die Verantwortung für die Ausgabe von Befehlen von der Verantwortung für die Ausführung von Befehlen zu trennen.
2. Jeder Befehl ist eine Operation: Die anfordernde Partei sendet eine Anfrage zur Durchführung einer Operation; die empfangende Partei empfängt die Anfrage und führt die Operation aus.
3. Der Befehlsmodus ermöglicht es der anfragenden Partei und der empfangenden Partei, unabhängig zu sein, sodass die anfragende Partei nicht wissen muss, welche Schnittstelle die Partei hat, die die Anfrage empfängt, und schon gar nicht, wie die Anfrage empfangen wird und ob und wann die Operation ausgeführt wird und wie sie ausgeführt wird.
4. Der Befehlsmodus macht die Anfrage selbst zu einem Objekt, das wie andere Objekte gespeichert und übertragen werden kann.
5. Der Schlüssel zum Befehlsmodus ist die Einführung einer abstrakten Befehlsschnittstelle, und der Sender ist für die abstrakte Befehlsschnittstelle programmiert. Dem Empfänger können nur bestimmte Befehle zugeordnet werden, die die abstrakte Befehlsschnittstelle implementieren.
Mustervorteile
1. Reduzieren Sie die Kopplung zwischen Objekten.
2. Neue Befehle können einfach zum System hinzugefügt werden.
3. Es ist einfacher, einen kombinierten Befehl zu entwerfen.
4. Rufen Sie dieselbe Methode auf, um verschiedene Funktionen zu implementieren
// 命令 var CreateCommand = function( receiver ){ this.receiver = receiver; } CreateCommand.prototype.execute = function() { this.receiver.action(); } // 接收者 电视 var TVOn = function() {} TVOn.prototype.action = function() { alert("TVOn"); } // 接收者 电视 var TVOff = function() {} TVOff.prototype.action = function() { alert("TVOff"); } // 调用者 遥控器 var Invoker = function( tvOnCommand, tvOffCommand ) { this.tvOnCommand = tvOnCommand; this.tvOffCommand = tvOffCommand; } Invoker.prototype.tvOn = function() { this.tvOnCommand.execute(); } Invoker.prototype.tvOff = function() { this.tvOffCommand.execute(); }
Execute Client
var tvOnCommand = new CreateCommand( new TVOn() ); var tvOffCommand = new CreateCommand( new TVOff() ); var invoker = new Invoker( tvOnCommand, tvOffCommand ); invoker.tvOn(); invoker.tvOff();
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Installieren von js in webpack Gepackte Kartendatei (ausführliches Tutorial)
Erstellen einer Breadcrumb-Navigationsleiste über elementUI in vue2.0
Das obige ist der detaillierte Inhalt vonKonzept und Verwendung von Befehlsmustern in JS (ausführliches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft
