【HeadFirst设计模式】第四章 工厂模式

当需要使用多态的特性的时候,往往我们可能出现这样的代码:

【HeadFirst设计模式】第四章 工厂模式_第1张图片

但是灰色框中的代码却在日后的维护中发生改变。比如加入新的具体类或者删除旧的具体类。为了解决这个问题,我们可以使用工厂模式。

简单工厂

【HeadFirst设计模式】第四章 工厂模式_第2张图片

简单工厂就是把上面的代码挪到了另外一个类中,之后还会发生更改,但是这样的好处是,他的客户可能是多个其它类,相当于把同样的逻辑抽取出来。

如果这里用的不是一个普通类而是一个静态类,则叫做静态工厂,静态工厂不需要进行实例化,但是缺点是不能被继承。

工厂方法模式

有创建者抽象类和创建者具体类,创建者具体类具体实现了工厂方法。

【HeadFirst设计模式】第四章 工厂模式_第3张图片

你可能感兴趣的:(【HeadFirst设计模式】第四章 工厂模式)