跳到主要内容

Strategy Function

策略模式把「算法族」封装成同名签名的函数,由外部根据名称或条件选择执行哪一条,避免巨大的 if/elseswitch

项目中的实现

  • 源码: src/strategyFunction.ts
  • 导出: Strategy(类型)、createStrategyRunnerfinanceStrategycodingStrategydefaultStrategy

各函数示例

createStrategyRunner

import { createStrategyRunner, financeStrategy, codingStrategy, defaultStrategy } from 'wssf-kage-js';

const run = createStrategyRunner(
{ finance: financeStrategy, coding: codingStrategy },
defaultStrategy
);
run('finance', '营收');

financeStrategy

import { financeStrategy } from 'wssf-kage-js';

financeStrategy('营收预测');

codingStrategy

import { codingStrategy } from 'wssf-kage-js';

codingStrategy('重构方案');

defaultStrategy

import { defaultStrategy } from 'wssf-kage-js';

defaultStrategy('其它主题');

什么时候优先用

  • 同一输入类型、多种处理规则(计费规则、渠道策略、提示词模板)
  • 需要运行时替换或扩展策略映射表