简单工厂模式:是一种创建型设计模式,它提供了一种创建对象的简单方法,而不需要直接实例化对象。简单工厂模式通过一个工厂类来创建对象,而不是通过直接调用构造函数来创建对象。(通过调用工厂的方法传入参数获取需要的实例)(只有一个工厂类,该工厂可以生产多种产品,适用于单一产品的创建)
简单工厂模式的优点是:
简化了对象的创建过程,客户端只需要传入参数,就可以获得所需的对象。
隐藏了对象的创建细节,客户端不需要知道具体的实现细节。
可以通过工厂类来控制对象的创建,实现了解耦。
简单工厂模式的缺点是:
工厂类负责创建所有的对象,如果需要添加新的产品,就需要修改工厂类的代码,违反了开闭原则。
工厂类的职责过重,一旦工厂类出现问题,整个系统就会受到影响。
简单工厂模式只能创建固定类型的对象,无法创建复杂对象。
简单工厂模式包含三个角色:
工厂类:负责创建对象的类,它包含一个静态方法,根据传入的参数来创建不同的对象。
抽象产品类:定义产品的接口,包含产品的属性和方法。
具体产品类:实现抽象产品类的接口,具体实现产品的属性和方法。
首先,定义一个抽象产品类:
1 | public abstract class Product { |
然后,定义两个具体产品类:
1 | public class ProductA extends Product { |
接下来,定义一个工厂类,用于创建产品对象:
1 | public class Factory { |
最后,客户端可以通过工厂类来创建产品对象:
1 | public class Client { |
- 本文作者: zzr
- 本文链接: http://zzruei.github.io/2023/03bb9a1e1b.html
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!