设计模式

小白学设计模式:工厂方法

1、背景或问题

前面讲简单工厂模式的时候,通过简单工厂,屏蔽来大量产品创造的细节过程,但可想而知,

对于那个工厂来说,肯定会很累的呀……

怎么办呢?那就多加几个工厂呗…… 

2、工厂模式怎么解决的

怎么多加工厂:厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。

这就是工厂方法的解决方案。

3、灵活性为什么提升了呢

同时增加某一类”东西“并不需要修改工厂类,只需要添加生产这类”东西“的工厂即可,使得工厂类符合开放-封闭原则。

4、缺点

对于某些可以形成产品族的情况处理比较复杂,当然这个缺点就是抽象工厂解决的问题了:)