责任链模式在审批和过滤器中的应用
责任链模式在审批和过滤器中应用广泛。本文讲它的实现方式和适用场景。
先看业务味道
设计模式不是为了炫技,而是为了解决重复变化。比如同一个业务流程里,不同类型有不同算法,就可以考虑策略模式;对象创建过程很复杂,可以考虑工厂模式。
一个策略模式示例
public interface DiscountStrategy { |
使用时通过类型选择策略,而不是写一大堆 if else。
判断是否值得使用
如果只有两个简单分支,直接 if 可能更清楚。如果规则经常新增、每个规则都有独立逻辑,模式才真正有价值。