Heim >Web-Frontend >js-Tutorial >js-Designmuster: Was ist ein Strategiemuster? Einführung in das js-Strategiemuster

js-Designmuster: Was ist ein Strategiemuster? Einführung in das js-Strategiemuster

不言
不言Original
2018-08-17 16:05:061846Durchsuche

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.

Was ist ein Strategiemuster?

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.

Strategiemuster in JS

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!

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