工厂模式
文章目录
介绍
工厂模式是一种常见的设计模式,用于创建对象而不暴露对象的创建逻辑。在软件开发中,工厂模式通常用于管理对象的创建过程,特别是当对象的创建过程比较复杂,需要封装起来以便于代码的维护和扩展。
工厂模式通常包括三个角色:工厂接口、具体工厂和产品
工厂接口(Factory Interface):定义了一个用于创建对象的接口,其中可能包含一个或多个工厂方法,每个方法用于创建不同类型的产品对象。
具体工厂(Concrete Factory):实现了工厂接口,负责创建具体的产品对象。每个具体工厂通常与特定类型的产品相关联。
产品(Product):表示由工厂创建的对象。产品可以是具体的类、接口或抽象类。
一、工厂模式的几种变体
简单工厂模式(Simple Factory Pattern):由一个工厂类根据传入的参数,决定创建哪一种产品类的实例。客户端只需要知道工厂类即可,不需要关心具体产品的创建过程。
工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,但是让子类决定实例化哪个类。这样,可以将实例化的过程推迟到子类中,从而实现解耦。
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。它是工厂方法模式的升级版,不仅创建单一对象,而且可以创建一系列相关的对象。
二、工厂模式类图
1.简单工厂模式(Simple Factory Pattern)
简单工厂模式是最简单的工厂模式之一,它由一个工厂类根据传入的参数来创建对象。
// 产品接口
interface Product {
void display();
}
// 具体产品类A
class ConcreteProductA implements Product {
@Override
public void display() {
System.out.println("This is Product A.");
}
}
// 具体产品类B
class ConcreteProductB implements Product {
@Override
public void display() {
System.out.println("This is