if & else

优化一

策略模式,将判断的过程交给对象的属性上进行判断

  1. var strategies = {
  2. a: function(){},
  3. b: function(){},
  4. c: function(){}
  5. }
  6. strategies[a]();

优化二

发布订阅模式,适用于平行的分支判断

优化三

诊断非平行的分支判断时,可以用责任链模式,面向对象的写法较为生硬,可以改为函数面向切片写法

总结:

同级分支策略模式,将大函数拆分若干小函数,负责单独的逻辑部分