Heim  >  Artikel  >  Web-Frontend  >  Vertiefendes Verständnis der JavaScript-Reihe (27): Detaillierte Erläuterung des Builder-Musters von Design Patterns_Javascript-Fähigkeiten

Vertiefendes Verständnis der JavaScript-Reihe (27): Detaillierte Erläuterung des Builder-Musters von Design Patterns_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:11:23723Durchsuche

Einführung

In Softwaresystemen sind wir manchmal mit der Erstellung eines „komplexen Objekts“ konfrontiert, das aufgrund von Änderungen in den Anforderungen normalerweise aus Unterobjekten jedes Teils dieses komplexen Objekts besteht steht vor drastischen Veränderungen, aber der Algorithmus, der sie kombiniert, ist relativ stabil. Wie gehe ich mit dieser Veränderung um? Wie kann ein „Kapselungsmechanismus“ bereitgestellt werden, um Änderungen in „verschiedenen Teilen komplexer Objekte“ zu isolieren, um zu verhindern, dass sich der „stabile Konstruktionsalgorithmus“ im System ändert, wenn sich die Anforderungen ändern? Dies wird als Builder-Muster bezeichnet.

Builder-Muster können die Konstruktion eines komplexen Objekts von seiner Darstellung trennen, sodass mit demselben Konstruktionsprozess unterschiedliche Darstellungen erstellt werden können. Das heißt, wenn wir den Builder-Modus 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.

Text

Dieser Modus ist relativ einfach, zuerst zu kodieren und dann zu erklären

Code kopieren Der Code lautet wie folgt:

Funktion getBeerById(id, callback) {
// Verwenden Sie die ID, um Daten anzufordern, und geben Sie dann Daten zurück.
asyncRequest('GET', 'beer.uri?id=' id, function (resp) {
// Rückruf-Anrufantwort
         callback(resp.responseText);
});
}

var el = document.querySelector('#test');
el.addEventListener('click', getBeerByIdBridge, false);

Funktion getBeerByIdBridge(e) {
GetBeerById(this.id, function (beer) {
console.log('Angefordertes Bier: ' Bier);
});
}

Gemäß der Definition des Builders ist das Erscheinungsbild ein Rückruf, was bedeutet, dass die Art und Weise, wie die Daten nach dem Abrufen angezeigt und verarbeitet werden, von der Rückruffunktion abhängt. Dementsprechend muss die Rückruffunktion nicht darauf achten, wie sie abgerufen wird Die Daten bei der Verarbeitung der Daten. Sie können auch in der Ajax-Methode von jquery sehen, dass es viele Rückruffunktionen (wie Erfolgs-, Fehlerrückrufe usw.) gibt und der Hauptzweck die Trennung von Verantwortlichkeiten ist.

Ähnlich ein weiteres jQuery-Beispiel:

Code kopieren Der Code lautet wie folgt:

$('
bar
');

Wir müssen nur die zu generierenden HTML-Zeichen übergeben und müssen uns nicht darum kümmern, wie das spezifische HTML-Objekt erzeugt wird.

Zusammenfassung

Das Builder-Muster wird hauptsächlich verwendet, um „ein komplexes Objekt Schritt für Schritt zu erstellen“, wobei „Schritt für Schritt“ ein stabiler Algorithmus ist, während sich die verschiedenen Teile des komplexen Objekts häufig ändern. Seine Vorteile sind: Die „Verarbeitung“. Technologie" wird offengelegt, was den Builder-Modus flexibler macht, und der Builder-Modus entkoppelt den Montageprozess und die Erstellung spezifischer Teile, sodass wir uns nicht darum kümmern müssen, wie jedes Teil zusammengebaut wird.

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