工厂模式

定义

工厂模式(Factory Pattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。这样使得一个类的实例化延迟到其子类。

组成部分

1.工厂接口(或抽象工厂类)

定义创建对象的方法。

2.具体工厂类

实现工厂接口,负责创建具体的产品对象。

3.产品接口(或抽象产品类)

定义产品的公共接口。

4.具体产品类

实现产品接口,定义具体产品的行为。

结构形式

1.工厂接口:Factory

2.具体工厂类:ConcreteFactory1, ConcreteFactory2

3.产品接口:Product

4.具体产品类:ConcreteProduct1, ConcreteProduct2

分类

1.简单工厂模式

由一个工厂类决定创建哪一种产品实例,客户端通过向工厂传递参数来获得特定的产品对象。

2.工厂方法模式

定义一个创建对象的接口,但让子类决定实例化哪一个类。

3.抽象工厂模式

提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。

目的

减少代码的耦合性,提供对象创建的灵活性和扩展性。

基本原理

通过定义工厂接口来创建产品对象,使客户端只需与工厂接口交互,而不需直接实例化具体产品类。