为什么需要工厂方法模式定义疑问优点 为什么需要工厂方法模式因为简单工厂模式违背了单一原则和开闭原则。 定义一个产品一个工厂,例如苹果有苹果工厂,梨子有梨子工厂,不再将多个产品放入同一个工厂中生成。 疑问这样做和不用工厂,直接new有什么区别?仍然可以解决对象构造函数太复杂的问题,交给工厂来隐藏这些细节。 优点 工厂类不会变成超级类,符合单一职责原则;当生成新的产品时,无需更改既有的工厂,只需要添加新的工厂即可,符合开闭原则;