So implementieren Sie das Builder-Muster in Javascript

So implementieren Sie das Builder-Muster in Javascript

Überblick

Das Builder-Muster ist ein relativ einfaches Entwurfsmuster und gehört zu den Erzeugungsmustern.

Definition: Zerlegen Sie ein komplexes Objekt zur Konstruktion in mehrere einfache Objekte und trennen Sie die komplexe Konstruktionsebene von der Präsentationsebene, sodass im selben Konstruktionsprozess unterschiedliche Präsentationsmodi erstellt werden können.

Vorteil:

  • Das Builder-Muster verfügt über eine bessere Kapselung und die Prozesse der Objekterstellung und -konstruktion sind entkoppelt.
  • Das Builder-Muster lässt sich leicht erweitern. Wenn wir es erweitern müssen, können wir dies über einen neuen Builder tun.

Modusfunktion:

  • Schrittweises Erstellen eines komplexen Objekts
  • Entkoppeln Sie den Verpackungsprozess von der spezifischen Erstellung der Komponenten
  • Sie müssen sich keine Gedanken über die Montage der Komponenten machen

Notiz:

  • Muss über eine stabile Algorithmusunterstützung verfügen
  • Die Verarbeitungstechnologie ist sichtbar, sodass die Reichen jederzeit hingehen und sich ansehen können, wie das Haus gebaut wird.

Umgangssprachliche Erklärung:

Ein reicher Mann möchte ein Haus bauen. Er muss nur einen Bauunternehmer finden, der dann ein Bauteam für den Hausbau zusammenstellt. Er muss nicht einzeln Arbeiter finden, um ein Bauteam zusammenzustellen und mit dem Bau zu beginnen. Der Bauunternehmer kennt die Bedürfnisse des reichen Mannes und weiß auch, wo er Arbeiter für ein Bauteam findet. Die Arbeiter können direkt arbeiten, wodurch der reiche Mann die Kosten für die direkte Kommunikation mit den Arbeitern spart. Der reiche Mann muss nicht wissen, wie man ein Haus baut. Er muss nur in der Lage sein, das Haus am Ende zu inspizieren.

Code-Implementierung

Bevor wir den Code schreiben, analysieren wir ihn zunächst:

1. Das Ergebnis ist ein Haus

2. Der Auftragnehmer ruft die Arbeiter zusammen, um mit der Arbeit zu beginnen, und er muss sich über das konkrete Großprojekt der Arbeiter im Klaren sein.

3. Arbeiter sind Hausbauer, die Schlafzimmer, Wohnzimmer und Küchen bauen können.

4. Der Bauunternehmer ist nur eine Schnittstelle. Er befiehlt anderen nur, ein Haus zu bauen, aber er selbst muss nichts tun.

Funktion Fangzi(){
    dies.woshi = "";
    diese.kette = "";
    dies.chufang = "";
}

Funktion Baogongtou(){
    dies.jianfangzi = Funktion(gongren){
        gongren.jian_woshi();
        gongren.jian_keting();
        gongren.jian_chufang();
    }
}

Funktion Gongren(){
    dies.jian_woshi = Funktion(){
        console.log("Das Schlafzimmer ist gebaut!");
    }

    dies.jian_keting = Funktion(){
        console.log("Das Wohnzimmer ist gebaut!");
    }

    dies.jian_chufang = Funktion(){
        console.log("Die Küche ist gebaut!");
    }

    dies.wangong = Funktion(){
        var fangzi = neues Fangzi();
        fangzi.woshi = "ok";
        fangzi.keting = "ok";
        fangzi.chufang = "ok";
        Fangzi zurückgeben;
    }
}
lass gongren = neues Gongren();
lass baogongtou = neues Baogongtou();
//Das Schlafzimmer ist fertig!
//Das Wohnzimmer ist gebaut!
//Die Küche ist gebaut!
baogongtou.jianfangzi(gongren);
var my_fangzi = gongren.wangong();
/*
Fangzi =
       Chufang: „OK“
       Kauf: "ok"
       woshi: „OK“
       }
*/
Konsole.log(my_fangzi);

Im obigen Code können wir sehen, dass Gongren() den spezifischen Bauprozess enthält, also die spezifischen Dinge, die zu tun sind. Fangzi() ist am Anfang leer, ohne Wohnzimmer, Küche oder Schlafzimmer. Baogongtou() gibt nur an, dass ein Haus gebaut werden kann, und übergibt dann die Worker-Methode, um den Worker aufzurufen, der den Bau durchführt. Wenn die Worker-Methode ausgeführt wird, ist der Bau abgeschlossen und das Haus wird übergeben. Instanziieren Sie die Fangzi()-Methode in einer neuen Methode und weisen Sie sie in der neuen Methode neu zu.

Oben finden Sie Einzelheiten zur Implementierung des Builder-Musters mit Javascript. Weitere Informationen zum Javascript-Builder-Muster finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • JavaScript-Entwurfsmuster – Analyse der Prinzipien und Anwendungsbeispiele des Builder-Musters
  • Beispiel-Tutorial zum JavaScript Design Patterns Builder-Muster
  • JavaScript-Entwurfsmuster, klassisches Builder-Muster
  • Analyse grundlegender Anwendungsbeispiele des JS-Builder-Modus
  • Vertieftes Verständnis der JavaScript-Reihe (27): Detaillierte Erläuterung des Builder-Musters im Entwurfsmuster
  • Einführung in das JavaScript Design Pattern Builder-Muster
  • JS-Entwurfsmuster: Eine kurze Analyse der Definition und Implementierung des Factory-Musters
  • JS-Entwurfsmuster: Eine kurze Analyse der Definition und Implementierung des Singleton-Musters
  • JavaScript-Designmuster – Prinzipien des Besuchermusters und Analyse von Verwendungsbeispielen
  • JavaScript-Entwurfsmuster – Prinzipien und Anwendungsbeispielanalyse des Template-Methoden-Musters

<<:  So installieren Sie die PHP7 Redis-Erweiterung auf CentOS7

>>:  So erstellen Sie ein Dateisystem in einer Linux-Partition oder einem logischen Volume

Artikel empfehlen

So verwenden Sie localStorage in JavaScript

Wenn Sie Entwickler sind und in die Welt von .NET...

Detaillierte Erläuterung der MySQL-Indexprinzipien und -Optimierung

Vorwort Dieser Artikel wurde von einem hohen Tier...

Docker-Installations- und Konfigurationsschritte für das Redis-Image

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

Beispiele für ES6-Schleifen und iterierbare Objekte

Dieser Artikel untersucht die ES6-for...of-Schlei...

Beispiel zum Hochladen eines Docker-Images in ein privates Repository

Das Image kann problemlos direkt in das öffentlic...

jQuery implementiert Akkordeoneffekte

Dieser Artikel gibt Ihnen den spezifischen Code v...

JavaScript implementiert Ziehen mit der Maus, um die Div-Größe anzupassen

In diesem Artikel wird der spezifische JavaScript...

So verwenden Sie @media in mobilen adaptiven Stilen

Allgemeiner Handy-Stil: @media alle und (Ausricht...