工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,是一种创建型设计模式,用于创建对象
而不暴露创建逻辑
。工厂模式包括工厂方法模式和抽象工厂模式,下面结合代码看看它的使用用法吧。
// 产品接口
interface Product {
void produce();
}
// 具体产品类
class ConcreteProduct implements Product {
@Override
public void produce() {
System.out.println("具体的产品");
}
}
// 工厂接口
interface Factory {
Product createProduct();
}
// 具体工厂类 //用于创建产品
class ConcreteFactory implements Factory {
@Override
public Product createProduct() {
return new ConcreteProduct();
}
}
// 测试类
public class FactoryPatternExample {
public static void main(String[] args) {
Factory factory = new ConcreteFactory();
Product product = factory.createProduct();
product.produce();
}
}
工厂模式的使用场景:
明确地知道不同条件
下创建不同实例
,适用于需要根据不同条件创建不同对象的场景。
优点:
- 将对象的创建和使用分离,降低了系统的耦合性。
- 符合开闭原则,新增产品类时
只需扩展工厂类
而不需要修改已有代码。
缺点:
- 增加了系统中类的个数,增加了系统的复杂度。
- 当产品类较多时,需要
编写大量的工厂类
,增加了系统的维护成本。