工厂模式,顾名思义就是工厂只交付产品,用户不必关心产品的生产过程,工厂全权负责生产。
工厂模式是由工厂方法升级而来,对工厂的方法进行接口规范化,内部进行解耦合,并提升扩展性与可维护性,进而形成了工厂模式。
工厂模式主要有三种:简单工厂模式、工厂方法模式和抽象工厂模式。每种工厂模式在对象创建和使用方面有着不同的特点和应用场景。以下是各种工厂模式的简要介绍:
简单工厂模式
简单工厂模式通过一个工厂类来负责创建所有产品对象,客户端通过工厂类的静态方法来获取所需的产品实例。
优点:简单易用,封装了对象的创建过程。
缺点:违反了开闭原则,新增产品时需要修改工厂类。
示例代码如下:
// 产品接口
interface Product {
void doSomething();
}
// 具体产品类 A
class ConcreteProductA implements Product {
@Override
public void doSomething() {
System.out.println("Concrete Product A is doing something.");
}
}
// 具体产品类