enum 职责链和策略设计模式使用