工厂模式

作者:碳水怪兽👾 发布于:2021/9/14

前言

设计模式分为创建型、行为型和结构型模式三种,从这篇文章开始记录一下对创建型模式的学习,而构建模式模式包含工厂模式(简单工厂、抽象工厂、工厂方法)、单例模式、构建者模式和原型模式。

正文

工厂模式

工厂模式的作用在于将对象的创建和使用解耦,使得客户端代码不需要去了解对象创建的复杂逻辑 。

工厂模式分为:

  • 简单工厂
  • 工厂方法
  • 抽象工厂

简单工厂模式

简单工厂负责所有产品的创建,但是当产品数量增加时,简单工厂类也会变得复杂。

简单工厂的类图如下图所示:

工厂方法模式

工厂方法定义一个创建对象的接口,由实现这个接口的类来创建对象,工厂方法把对象的实例化延迟到子类中实现

工厂方法类图如下:

image-20210915214648979

抽象工厂

在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。

image-20210915220900456