工厂模式的好处在哪里(简单工厂模式详解)

网站编辑01 2022-07-30 16:50:57 阅读:25

  简单工厂模式的定义

  简单工厂模式(Simple Factory),又被称为"静态工厂方法模式",它属于类创建型模式,同属于创建型模式的还有(工厂方法模式,抽象工厂模式,单例模式,建造者模式)。

  用一个现实生活的例子更容易理解:生活中的工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们可以理解为负责生产对象的一个类,称为“工厂类”。

  简单工厂模式的结构

工厂模式的好处在哪里(简单工厂模式详解)

  1.工厂类

  工厂角色负责实现创建所有实例的内部逻辑。

  2.抽象产品

  抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口。

  3.具体产品

  具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

  简单工厂模式的实现

  主要分为三个步骤:

  1.创建抽象产品类

  创建抽象产品类的作用:主要是定义具体产品的公共接口

  2.创建具体产品类

  创建具体产品类的作用:继承抽象产品类,定义生产的具体产品

  3.创建工厂类

  创建工厂类的作用:通过创建静态方法从而根据传入不同参数创建不同具体产品类的实例。

  这里我做了简化,实际的情况可以根据传入的具体产品参数来实现具体的产品即可。

  简单工厂模式的优缺点

  1. 优点

  将创建实例的工作与使用实例的工作分开,使用者不必关心类对象如何创建,实现了解耦;

  把初始化实例时的工作放到工厂里进行,使代码更容易维护。

  2. 缺点

  工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;

  违背“开放 - 关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂。

  简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重写,会造成工厂角色无法形成基于继承的等级结构。


二维码