Dieses Mal bringe ich Ihnen eine detaillierte Erklärung von JSEntwurfsmusterBuilder-Modus, was sind die Vorsichtsmaßnahmen bei der Verwendung des JS-Builder-Modus, hier ist das Aktuelle Kampf Werfen wir einen Blick auf den Fall.
Konzept
Builder-Muster kann die Konstruktion eines komplexen Objekts von seiner Darstellung trennen, sodass mit demselben Konstruktionsprozess unterschiedliche Darstellungen erstellt werden können. Wenn wir das Builder-Muster verwenden, muss der Benutzer die zu erstellenden Typen angeben, um sie zu erhalten, und der spezifische Konstruktionsprozess und die Details müssen nicht bekannt sein. Das Builder-Muster ist eigentlich ein Commander, ein Builder und ein Client, der den Commander verwendet, um bestimmte Builder aufzurufen, um zu arbeiten und Ergebnisse zu erzielen. Wird hauptsächlich verwendet, um „ein komplexes Objekt Schritt für Schritt zu erstellen“
Funktion und Vorsichtsmaßnahmen
Modusfunktion:
Ein komplexes Objekt Schritt für Schritt erstellen
Entkopplung der Kapselungsprozess und die spezifische Erstellung von Komponenten
Sie müssen sich nicht darum kümmern, wie die Komponenten zusammengebaut werden
Hinweis:
Muss durch einen stabilen Algorithmus unterstützt werden („Schritt-für-Schritt-Anleitung“) Schritt" bedeutet einen stabilen Algorithmus)
Die Verarbeitungstechnologie wird offengelegt
Nachdem wir die Grundprinzipien verstanden haben, schauen wir uns das folgende Beispiel an, und dann erhalten Sie ein tieferes Verständnis dafür Konstruktionsmodell.
Beispiel
Ein reicher Mann muss eine Villa bauen und geht dann direkt zum Bauunternehmer, der dann Arbeiter für den Bau der Villa findet. Die örtlichen Tycoons müssen sich hier nicht einzeln auf die Suche nach Arbeitskräften machen. Solange der Bauunternehmer die Bedürfnisse der Reichen kennt, macht er sich auf die Suche nach Arbeitern, und die Arbeiter erledigen die Arbeit. Die Reichen müssen nicht wissen, wie man das Haus baut, und am Ende können sie einfach das Haus bekommen .
//1.产出东西是房子 //2.包工头调用工人进行开工而且他要很清楚工人们具体的某一个大项 //3.工人是盖房子的 工人可以建厨房、卧室、建客厅 //4.包工头只是一个接口而已 他不干活 他只对外说我能建房子 function House() { this.kitchen = ""; this.bedroom = ""; this.livingroom = ""; }; function Contractor() { this.construct = function(worker) { worker.construct_kitchen(); worker.construct_bedroom(); worker.construct_livingroom(); } }; function Worker() { this.construct_kitchen =function() { console.log("厨房建好了"); } this.construct_bedroom = function() { console.log("卧室建好了"); } this.construct_livingroom = function() { console.log("客厅建好了"); } this.submit = function() { var _house = new House(); _house.kitchen = "finished"; _house.bedroom = "finished"; _house.livingroom = "finished"; return _house; } }; var worker = new Worker(); var contractor = new Contractor(); contractor.construct(worker); // 主人要房子 var myhouse = worker.submit(); console.log(myhouse);
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.
Empfohlene Lektüre:
Detaillierte Erläuterung des Konstruktormusters von JS-Entwurfsmustern
JS-Entwurfsmuster – Verwendung von Singleton-Mustern
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Builder-Musters von JS-Entwurfsmustern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!