いくつかの条件の間に既知の実行パスがある場合は、次のパターンを使用します。テストケースをMap(この例ではPOJO)に定義し、条件を使用してキー検索を行います。私は通常predicate
という用語を使用しました。次のコードパターンの標準名はありますか?
このパターンには標準名がありますか?使用している場合の履歴や文脈はどうですか?
var predicates = {
negateRegexp: function (value, operator) {
return !operator.regex.test(value);
},
negateOperand: function (value, operator) {
return value !== operator.operand;
},
affirmRegexp: function (value, operator) {
return operator.regex.test(value);
},
affirmOperand: function (value, operator) {
return value === operator.operand;
}
};
var predicateKey = (operator.prefix === '!' ? 'negate' : 'affirm') +
(operator.regexp ? 'Regexp' : 'Operand');
var testResult = predicates[predicateKey](value, operator);
if (testResult) {
doSomethingWith(value);
}
それは私が普通で働くものですように私には、例えばJavaScriptを使用していました。しかし、私は他の言語(JavaのようにもOOP型付けされたもの)で、このパターンを見てきた確信している
[ウィキペディア/戦略パターン](https://en.wikipedia.org/wiki/Strategy_pattern) – no1xsyzy