工厂模式如何降低创建复杂度

工厂模式如何降低创建复杂度

工厂模式能降低创建复杂度,但用不好反而会增加复杂度。本文讲它的适用场景。

先看业务味道

设计模式不是为了炫技,而是为了解决重复变化。比如同一个业务流程里,不同类型有不同算法,就可以考虑策略模式;对象创建过程很复杂,可以考虑工厂模式。

一个策略模式示例

public interface DiscountStrategy {
BigDecimal calculate(BigDecimal amount);
}

public class VipDiscount implements DiscountStrategy {
public BigDecimal calculate(BigDecimal amount) {
return amount.multiply(new BigDecimal("0.8"));
}
}

使用时通过类型选择策略,而不是写一大堆 if else。

判断是否值得使用

如果只有两个简单分支,直接 if 可能更清楚。如果规则经常新增、每个规则都有独立逻辑,模式才真正有价值。


   转载规则


《工厂模式如何降低创建复杂度》 小乐 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录