ÜberblickDas 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:
Modusfunktion:
Notiz:
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-ImplementierungBevor 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:
|
<<: So installieren Sie die PHP7 Redis-Erweiterung auf CentOS7
>>: So erstellen Sie ein Dateisystem in einer Linux-Partition oder einem logischen Volume
px (Pixel) Ich glaube, jeder ist mit dem Begriff ...
Wenn Sie Entwickler sind und in die Welt von .NET...
Vorwort Dieser Artikel wurde von einem hohen Tier...
Keepalived+Nginx+Tomcat zur Erzielung eines hochv...
1. Um die Abfrage zu optimieren, sollten Sie voll...
Inhaltsverzeichnis Vorwort Umfeld Installieren Er...
Dieser Artikel untersucht die ES6-for...of-Schlei...
Das Image kann problemlos direkt in das öffentlic...
Dieser Artikel gibt Ihnen den spezifischen Code v...
eins. Übersicht über die IE8-Kompatibilitätsansic...
Ursache Beim Ausführen des Docker-Skripts tritt e...
In diesem Artikel wird der spezifische JavaScript...
1: Unterschiede bei Geschwindigkeit und Lademethod...
CSS-Anzeigeeigenschaft Hinweis: Wenn !DOCTYPE ang...
Allgemeiner Handy-Stil: @media alle und (Ausricht...