


JavaScript-Designmuster-Strategiemuster-Beispiel_Javascript-Kenntnisse
May 16, 2016 pm 04:34 PMDie Bedeutung des Strategiemusters besteht darin, eine Reihe von Algorithmen zu definieren, sie einzeln zu kapseln und sie austauschbar zu machen.
Ein kleines Beispiel kann es uns verdeutlichen.
Erinnern Sie sich an die animate-Methode in jquery.
$( div ).animate( {„left: 200px“}, 1000, ‚linear‘ ); // Gleichmäßige Bewegung
$( div ).animate( {“left: 200px”}, 1000, ‘cubic’ ); // Kubische Lockerung
Diese beiden Codezeilen bewirken, dass sich das Div innerhalb von 1000 ms um 200 Pixel nach rechts bewegt. Linear (gleichmäßige Geschwindigkeit) und kubisch (kubische Beschleunigung) sind die Kapselung eines Strategiemusters.
Nehmen wir ein weiteres Beispiel. Auf der Seite dev.qplus.com, die ich in der ersten Jahreshälfte geschrieben habe, gibt es für jedes Mitglied des Formulars unterschiedliche Verifizierungsregeln.
Zum Beispiel muss im Namensfeld überprüft werden, dass es keine leeren, sensiblen Wörter enthält und die Zeichen zu lang sind. Natürlich können Sie drei andere Dinge schreiben, um das Problem zu lösen, aber die Skalierbarkeit und Wartbarkeit des Schreibens von Code auf diese Weise kann man sich vorstellen. Wenn das Formular mehr Elemente enthält und mehr Situationen überprüft werden müssen, ist es nicht unmöglich, insgesamt Hunderte von if elses zu schreiben.
Ein besserer Ansatz besteht also darin, jede Validierungsregel separat mithilfe des Strategiemusters zu kapseln. Wenn Sie welche Art von Bestätigung benötigen, müssen Sie nur den Namen der Richtlinie angeben. So:
nameInput.addValidata({
notNull: wahr,
dirtyWords: true,
maximale Länge: 30
})
Die Methoden notNull, maxLength und andere müssen nur einheitlich true oder false zurückgeben, um anzuzeigen, ob die Überprüfung erfolgreich war.
notNull: function( value ){
Rückgabewert !== ”;
},
maxLength: function( value, maxLen ){
Rückgabewert.length() > maxLen;
}
}
Wie Sie sehen, können verschiedene Validierungsregeln leicht geändert und untereinander ersetzt werden. Wenn der Produktmanager eines Tages vorschlägt, die Zeichenbeschränkung auf 60 Zeichen zu ändern. Es dauert nur 0,5 Sekunden, um die Arbeit abzuschließen.

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Was sind die praktischen Anwendungsfälle von Strategiemustern im Java-Framework?

Der Unterschied zwischen Entwurfsmustern und Architekturmustern im Java-Framework

Die wunderbare Verwendung des Adaptermusters in Java-Entwurfsmustern

Analyse des Decorator-Musters in Java-Entwurfsmustern

Praktische Fallanalyse des PHP-Entwurfsmusters

Was sind die Vor- und Nachteile der Verwendung von Entwurfsmustern im Java-Framework?

Anwendung von Designmustern im Guice-Framework

PHP-Entwurfsmuster: Testgetriebene Entwicklung in der Praxis
