JavaScript-Entwurfsmuster, Befehlsmuster

JavaScript-Entwurfsmuster, Befehlsmuster

Das Befehlsmuster ist ein Verhaltensentwurfsmuster in JavaScript-Entwurfsmustern.

Definition: Senden Sie eine Anforderung an ein Objekt, wissen Sie aber nicht, um welche spezifische Operation es sich handelt. Daher möchten wir das Programm lose gekoppelt gestalten, damit der Anforderungssender und der -empfänger die Kopplungsbeziehung untereinander aufheben können. Unsere Methode der losen Kopplung ist das Befehlsmuster.

Erklärung in einfacher Sprache: Wenn Sie der Teamleiter der Forschungs- und Entwicklungsabteilung Ihres Unternehmens sind und Ihr Vorgesetzter Ihnen eine Aufgabe zuweist, werden Sie bei einem kurzen Blick feststellen, dass sehr einfache Anforderungen relativ leicht umzusetzen sind. Und als Teamleiter haben Sie jeden Tag eine Menge zu tun, also sind Sie bereit, die Anforderungen direkt an die Teammitglieder weiterzugeben, damit diese sie entwickeln und umsetzen. Dem Vorgesetzten ist es egal, ob Sie es tun oder wen Sie darum bitten. Der Vorgesetzte will nur das Endergebnis! Hier ist der Leiter der Befehlsgeber und Sie sind der Befehlsempfänger.

Code-Implementierung:

<!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <meta http-equiv="X-UA-kompatibel" content="ie=edge">
    <title>Dokument</title>
</Kopf>
<Text>
        <button id="button1">Befehl im Frontend veröffentlichen</button>
        <button id="button2">Befehl im Backend veröffentlichen</button>
</body>
<Skript>

    var button1 = document.getElementById("button1");
    var button2 = document.getElementById("button2");
    //Befehl definieren var command = function(Executor,func){
        Executor.onclick = Funktion;
    }
    // Anführer definieren var Leader = {};
    
    Leiter.teamleiter = {
        web:Funktion(){
            console.log("Das Frontend wird bald fertiggestellt");
        },
        java:Funktion(){    
            console.log("Hintergrund wird bald abgeschlossen sein")
        }
    }

    Befehl (Schaltfläche1, Leader.teamleader.web);
    Befehl (Schaltfläche2, Leader.teamleader.java);
</Skript>
</html>

Laufergebnisse:

Hier wird das Befehlsobjekt als Methode definiert, um je nach Parametern unterschiedliche Aufgaben auszuführen. Wenn Sie auf unterschiedliche Schaltflächen klicken, werden unterschiedliche Befehle ausgeführt.

Makros:

Ein Makrobefehl ist eine Sammlung von Befehlen. Durch die Ausführung von Makrobefehlen können mehrere Befehle gleichzeitig ausgeführt werden.

Computer-Startelemente: Viele Softwareprogramme verfügen mittlerweile über standardmäßige Startelemente, die zum Computerstart hinzugefügt werden. Dies bedeutet, dass bestimmte Softwareprogramme standardmäßig gestartet werden, nachdem der Computer eingeschaltet wurde. Dies ist ein Szenario mit Makrobefehlen.

var QQCommand = {
    ausführen:Funktion(){
        console.log("Selbststart von QQ erfolgreich");
    }
}

var weChatCommand = {
    ausführen:Funktion(){
        console.log("WeChat erfolgreich gestartet");
    }
}

var Makrobefehl = Funktion(){
    zurückkehren {
        Liste:[],
        hinzufügen:Funktion(Befehl){
            this.list.push(Befehl);
        },
        ausführen:Funktion(){
            für(var i = 0,Befehl;Befehl = diese.Liste[i++];){
                befehl.ausführen();
            }
        }
    }
}

var Makrobefehl = Makrobefehl();
: MakroCommand.add(QQCommand);
: MakroCommand.add(weChatCommand);
MakroCommand.excute();

Im obigen Code definieren wir ein Listenarray im Makrobefehlsobjekt und fügen es dann über die Add-Methode zur Ausführungswarteschlange hinzu. Die sogenannte Ausführungswarteschlange ist das Listenarray. Dann führen wir die Befehle nacheinander über eine Schleife aus, die unseren Makrobefehl generiert und mehrere Aufgaben mit einem Befehl startet.

Der Befehlsmodus definiert tatsächlich ein Befehlsobjekt. Der Anforderungsherausgeber übergibt Parameter in parametrisierter Form, um bestimmte Vorgänge auszuführen, wodurch der Anforderungsherausgeber und der Empfänger entkoppelt werden.

Schlussworte:

Diese Artikelserie behandelt zehn häufig verwendete JavaScript-Entwurfsmuster. Ich habe auf viele Informationen verwiesen und sie mit meinem eigenen Verständnis kombiniert, um sie Ihnen auf möglichst verständliche Weise zu erklären. Aufgrund meiner begrenzten Kenntnisse und Energie weisen Sie mich bitte rechtzeitig auf etwaige Missverständnisse hin. Die Artikelserie zu Entwurfsmustern wird vorerst auf Eis gelegt und später ergänzt. Nächsten Monat werde ich mit der Vorbereitung beginnen, ES6 systematisch zu studieren und die ES6-Artikelserie abzuschließen.

Oben sind die Details des Befehlsmusters des JavaScript-Entwurfsmusters aufgeführt. Weitere Informationen zum JavaScript-Entwurfsmuster finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • JavaScript-Entwurfsmuster – Prinzipien des Befehlsmusters und Analyse von Anwendungsbeispielen
  • Beispielanalyse des JavaScript-Entwurfsmusters und des Befehlsmusters
  • Analyse des Konzepts und der Verwendung des Befehlsmodus im JS-Entwurfsmuster
  • JavaScript-Entwurfsmuster, klassisches Befehlsmuster
  • Vertieftes Verständnis der JavaScript-Reihe (34): Detaillierte Erläuterung des Befehlsmodus des Entwurfsmusters
  • Befehlsmodus des JavaScript-Entwurfsmusters

<<:  Mit vsftp einen FTP-Server unter Linux aufbauen (mit Parameterbeschreibung)

>>:  MySQL-Lösung zur Datenpaging-Abfrageoptimierung auf Millionenebene

Artikel empfehlen

Sehr praktische Methode zur Implementierung des Tomcat-Startskripts

Vorwort Es gibt ein Szenario, in dem das Unterneh...

Sechs Tipps zur Verbesserung der Ladegeschwindigkeit von Webseiten

Zweitens hängt das Ranking von Schlüsselwörtern au...

MySQL fragt den aktuellsten Datensatz der SQL-Anweisung ab (Optimierung)

Die schlechteste Option besteht darin, die Ergebn...

Erläuterung der Schritte für Tomcat zur Unterstützung des https-Zugriffs

So ermöglichen Sie Tomcat die Unterstützung des h...

MySQL extrahiert zufällig eine bestimmte Anzahl von Datensätzen

Früher habe ich zur Handhabung dieser Art von Nut...

WeChat-Applet zur Bestimmung, ob die Mobiltelefonnummer legal ist Beispielcode

Inhaltsverzeichnis Szenario Wirkung Code Zusammen...

Detailliertes Beispiel zum Ändern des Linux-Kontokennworts

Passwort des persönlichen Kontos ändern Wenn norm...

So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

Tutorial zum Migrieren von Projekten von MYSQL zu MARIADB

Bereiten Sie die Datenbank (MySQL) vor. Wenn Sie ...

Lösung für das Problem des MySQL-Master-Slave-Switch-Kanals

Nach der VIP-Konfiguration wird beim Aktiv/Standb...

CSS imitiert Fernbedienungstasten

Hinweis: Diese Demo wurde in der Miniprogrammumge...

Vuex in einem Artikel verstehen

Inhaltsverzeichnis Überblick Die vier Hauptobjekt...

10 Tipps zum Entwerfen nützlicher, benutzerfreundlicher Webanwendungen

Hier sind 10 Tipps zum Entwerfen benutzerfreundli...