Heim >Web-Frontend >js-Tutorial >js-Designmuster: Was ist ein Strategiemuster? Einführung in das js-Strategiemuster
Dieser Artikel bietet Ihnen Inhalte zu js-Designmustern: Was ist das Strategiemuster? Die Einführung des js-Strategiemodus hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.
Definition : Verschiedene Strategien können nach unterschiedlichen Parametern getroffen werden
Hauptlösung: Es gibt viele ähnliche Algorithmen In diesem Fall bringt die Verwendung von if...else Komplexität und Schwierigkeit bei der Wartung mit sich.
Wann man das Strategiemuster verwendet: Es gibt viele Situationen, und was sie unterscheidet, ist nur ihr direktes Verhalten.
So lösen Sie: Verschiedene Strategien durch ein Hash-Objekt abbilden.
Vorteile des js-Strategiemodus: 1. Der Algorithmus kann frei umgeschaltet werden. 2. Vermeiden Sie die Verwendung mehrerer bedingter Urteile. 3. Gute Skalierbarkeit und Wiederverwendbarkeit.
Nachteile des js-Strategiemodus: 1. Die Strategiekategorien werden zunehmen. 2. Alle Strategieklassen müssen der Außenwelt zugänglich gemacht werden.
Strategiemodus-Nutzungsszenarien: 1. Die Laufmethode muss basierend auf dem Verhalten dynamisch geändert werden. 2. Um den Code zu reduzieren und ihn lesbarer zu machen. 3. Eine einheitliche Verwaltung der Richtlinien ist erforderlich.
Beobachten Sie die folgende Demo zum Erhalt des Jahresendbonus. Verschiedene Strategiemethoden (Regeln) werden nach verschiedenen Parametern (Stufen) erhalten das Strategiemuster in JS eins.
const strategy = { 'S': function(salary) { return salary * 4 }, 'A': function(salary) { return salary * 3 }, 'B': function(salary) { return salary * 2 } } const calculateBonus = function(level, salary) { return strategy[level](salary) } calculateBonus('A', 10000) // 30000
In JS, wo Funktionen erstklassige Bürger sind, ist die Verwendung von js-Strategiemustern oft in Funktionen höherer Ordnung verborgen. Wenn Sie die obige Demo leicht in die folgende Form umwandeln, können Sie feststellen, dass wir sie bereits verwenden Herzlichen Glückwunsch. Wir haben ein weiteres Designmuster gemeistert.
const S = function(salary) { return salary * 4 } const A = function(salary) { return salary * 3 } const B = function(salary) { return salary * 2 } const calculateBonus = function(func, salary) { return func(salary) } calculateBonus(A, 10000) // 30000
Verwandte Empfehlungen:
Detaillierte Erläuterung des Proxy-Musters des JS-Entwurfsmusters
Einzelfall von PHP-Designmuster Mustercode, PHP-Designmuster
Das obige ist der detaillierte Inhalt vonjs-Designmuster: Was ist ein Strategiemuster? Einführung in das js-Strategiemuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!