Maison >interface Web >js tutoriel >js design patterns : qu'est-ce qu'un modèle de stratégie ? Introduction au modèle de stratégie js
Cet article vous apporte du contenu sur les modèles de conception js : Qu'est-ce que le modèle de stratégie ? L'introduction du mode stratégie js a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère qu'il vous sera utile.
Définition : Différentes stratégies peuvent être utilisées selon différents paramètres
Solution principale : Il existe de nombreux algorithmes similaires dans dans ce cas, utiliser if...else apporte complexité et difficulté à maintenir.
Quand utiliser le modèle de stratégie : Il existe de nombreuses situations, et ce qui les distingue est simplement leur comportement direct.
Comment résoudre : Mappez différentes stratégies via un objet de hachage.
Avantages du mode stratégie js : 1. L'algorithme peut être commuté librement. 2. Évitez d’utiliser plusieurs jugements conditionnels. 3. Bonne évolutivité et réutilisabilité.
Inconvénients du mode stratégie js : 1. Les catégories de stratégie augmenteront. 2. Tous les cours de stratégie doivent être exposés au monde extérieur.
Scénarios d'utilisation du mode stratégie : 1. La méthode d'exécution doit être modifiée dynamiquement en fonction du comportement. 2. Afin de réduire le code et de le rendre plus lisible. 3. Une gestion unifiée des politiques est nécessaire.
Observez la démo suivante d'obtention du bonus de fin d'année Différentes méthodes de stratégie (règles) sont obtenues selon différents paramètres (niveaux). le modèle de stratégie dans JS one.
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
Dans JS où les fonctions sont des citoyens de première classe, l'utilisation du modèle de stratégie js est souvent cachée dans les fonctions d'ordre supérieur. Transformez légèrement la démo ci-dessus sous la forme suivante, vous pouvez constater que nous le sommes. je l'utilise déjà, félicitations pour avoir maîtrisé un autre modèle de conception.
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
Recommandations associées :
Explication détaillée du mode proxy du modèle de conception JS
Conception PHP modèle Code du mode Singleton, modèle de conception php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!