Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung des Builder-Musters von JS-Entwurfsmustern

Detaillierte Erläuterung des Builder-Musters von JS-Entwurfsmustern

php中世界最好的语言
php中世界最好的语言Original
2018-03-14 14:09:451811Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn