工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式。工厂方法模式通过定义一个创建对象的接口,但将具体的创建逻辑延迟到子类中实现。这样可以在不更改客户端代码的情况下,通过切换不同的工厂子类来创建不同的对象。
原理解释:
工厂方法模式通过定义一个抽象的工厂接口,其中包含一个用于创建对象的方法(工厂方法)。具体的产品类实现工厂接口,并实现工厂方法来创建具体的产品对象。客户端代码通过调用工厂方法来获取产品对象,而不需要直接实例化具体的产品类。
底层结构图:
下面是工厂方法模式的经典结构图:
+-------------------------+
| Creator |
+-------------------------+
| FactoryMethod() |
+-------------------------+
|
+------------------------+
| ConcreteCreator |
+------------------------+
| FactoryMethod() |
+------------------------+
|
+-------------------------+
|