Strategy Function
策略模式把「算法族」封装成同名签名的函数,由外部根据名称或条件选择执行哪一条,避免巨大的 if/else 或 switch。
项目中的实现
- 源码:
src/strategyFunction.ts - 导出:
Strategy(类型)、createStrategyRunner、financeStrategy、codingStrategy、defaultStrategy
各函数示例
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('其它主题');
什么时候优先用
- 同一输入类型、多种处理规则(计费规则、渠道策略、提示词模板)
- 需要运行时替换或扩展策略映射表