一、工厂方法模式基础
1.1 定义与角色
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,但允许子类决定实例化哪一个类。这种模式的核心在于定义一个创建产品对象的工厂接口,将实际创建产品的过程延迟到子类中实现。这样做的主要目的是为了实现系统的解耦,增加代码的灵活性和可扩展性。
在工厂方法模式中,主要涉及以下几个角色:
● 产品接口(Product Interface):定义产品的公共接口。具体产品类实现这个接口。
● 具体产品(Concrete Product):实现产品接口的具体类。每个具体产品类对应一种产品。
● 工厂接口(Factory Interface):声明创建产品对象的方法。这个接口通常包含一个创建产品的方法,该方法的返回类型是产品接口类型。
● 具体工厂(Concrete Factory):实现工厂接口的具体类,负责实例化具体产品对象。每个具体工厂类对应一种具体产品。
1.2 工厂方法模式的结构
工厂方法模式的结构主要包括以下几个部分:
● 产品接口:定义了产品的基本操作和属性。具体产品类必须实现这个接口。
● 具体产品类:实现产品接口的具体类。每个具体产品类对应一种产品。
● 工厂接口:声明了创建产品对象的方法。这个接口通常包含一个创建产品的方法,该方法的返回类型是产品接口类型。