设计模式之美--工厂模式

工厂模式是个人平时开发过程中用到的比较多的一种模式,因此相对熟悉。这里注重讲一些注意点和不同处。

工厂模式我们一般细分为简单工厂,工厂方法和抽象工厂。

简单工厂

实现逻辑

将判断逻辑迁移至工厂类中,通过单例模式来创建对象进行实现。

使用场景

当每个对象创建的逻辑比较简单的时候,将多个兑现过的创建逻辑放到一个工厂类中。

工厂方法

实现逻辑

定义相应的ParserFactory接口,每个工厂定义一个实现类,然后再使用简单工厂,来创建工厂类对象来解决if-else分支逻辑的复杂判断。

使用场景

当每个对象的创建逻辑都比较复杂的时候,避免设计一个复杂的简单工厂,因此使用工厂方法,来拆分细化各个工厂类的逻辑。

抽象工厂

实现逻辑

让一个工厂负责多个不同类型的parser对象,而不是只负责一种parser对象。

使用场景

当有多种分类方式,需要有不同方式都使用工厂方法时。