JavaScript Stratégie


Exemple

Un modèle de stratégie peut être utilisé dans Javascript dans de nombreux cas pour remplacer une instruction switch. Cela est particulièrement utile lorsque le nombre de conditions est dynamique ou très élevé. Il permet au code de chaque condition d'être indépendant et testable séparément.

L'objet de stratégie est un objet simple avec plusieurs fonctions, représentant chaque condition distincte. Exemple:

const AnimalSays = {
    dog () {
        return 'woof';
    },

    cat () {
        return 'meow';
    },

    lion () {
        return 'roar';
    },

    // ... other animals

    default () {
        return 'moo';
    }
};

L'objet ci-dessus peut être utilisé comme suit:

function makeAnimalSpeak (animal) {
    // Match the animal by type
    const speak = AnimalSays[animal] || AnimalSays.default;
    console.log(animal + ' says ' + speak());
}

Résultats:

makeAnimalSpeak('dog') // => 'dog says woof'
makeAnimalSpeak('cat') // => 'cat says meow'
makeAnimalSpeak('lion') // => 'lion says roar'
makeAnimalSpeak('snake') // => 'snake says moo'

Dans le dernier cas, notre fonction par défaut gère tous les animaux manquants.