工厂设计模式详解 您所在的位置:网站首页 策略模式和工厂模式的区别 工厂设计模式详解

工厂设计模式详解

2022-05-31 22:40| 来源: 网络整理| 查看: 265

在平常的工作学习过程中,不可避免的会用到很多种设计模式。对于我们来说,设计模式是一定要掌握并且可以熟练使用的知识重点。今天,就来总结一下工厂设计模式。

工厂设计模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程隔离起来,达到提高灵活性的目的。

工厂设计模式分为三种,分别为简单工厂模式、工厂方法模式、抽象工厂模式。

也有分为两类的说法,分为工厂方法模式和抽象工厂模式,将简单工厂模式作为工厂方法模式的一种特例。

1、简单工厂模式:又称静态工厂方法模式,

组成:(1)工厂类:这是本模式的核心,负责主要的逻辑判断,用来创建产品。

(2)抽象产品类:具体生产的产品所继承的父类或它实现的接口。

(3)具体产品类:工厂具体创建的对象。

工厂类中返回的创建的产品是抽象产品类,但new的实例是具体产品类,用工厂类创建产品是要传给工厂类想要创基金的产品类型供工厂类进行逻辑判断。

代码示例:

2、工厂方法模式

简单工厂模式中的工厂类中的创建产品对象的方法违背了开闭原则(对扩展开放,对修改关闭)。因为每增加一个新的具体产品类,在共产类的创建产品的业务逻辑中就要多加一个case。而在工厂方法模式中,将工厂类定义成了接口,每新增一种具体的产品类型时,只需要新增一个对应产品的工厂类就好,不需要修改已有的代码。

组成:

(1) 抽象工厂角色:这是工厂方法模式的核心,他是具体工厂角色必须要实现的接口或者继承的父类。

(2) 具体工厂角色:这是包含具体创建产品的逻辑方法的类。每一个具体的产品对象对应一个具体的工厂。

(3) 抽象产品角色:具体生产的产品所继承的父类或它实现的接口。

(4) 具体产品角色:工厂具体创建的对象。

代码示例:

3.抽象工厂模式:

工厂方法模式中虽然解决了简单工厂模式中需要修改已有代码的问题,但是当具体的产品种类变多时,就会出现大量的和他们对应的具体工厂类对象。

而抽象工厂模式是工厂方法模式的升级版,它用来创建一组相关或者互相依赖的对象。

某些相互依赖的产品不需要创建相对应的工厂类对象。

代码示例:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有