美文网首页
设计模式——工厂设计模式

设计模式——工厂设计模式

作者: 定格r | 来源:发表于2020-12-07 19:34 被阅读0次

    简单工厂模式(静态工厂模式)

    1. 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式
    2. 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码)
    3. 在软件开发中,当我们会用到大量的创建某种、某类或者某批对象时,就会使用到工厂模式.

    ◆虽然某种程度上不符合设计原则,但实际使用最多!

    工厂方法模式

    • 介绍:
      定义了一个创建对象的抽象方法,由子类决定要实例化的类。工厂方法模式将对象的实例化推迟到子类。
    • 适用场景:
      消费者不关心它所要创建对象的类(产品类)的时候。
      消费者知道它所要创建对象的类(产品类),但不关心如何创建的时候。

    ◆不修改已有类的前提下,通过增加新的工厂类实现扩展,

    抽象工厂模式

    • 介绍:
    1. 抽象工厂模式:定义了一个 interface 用于创建相关或有依赖关系的对象簇,而无需指明具体的类
    2. 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。
    3. 从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)。
    4. 将工厂抽象成两层,AbsFactory(抽象工厂) 和 具体实现的工厂子类。程序员可以根据创建对象类型使用对应的工厂子类。这样将单个的简单工厂类变成了工厂簇,更利于代码的维护和扩展。
    • 适用场景
      1、客户端(应用层)不依赖于产品类实例如何被创建、实现等细节
      2、强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码
      3、提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现
    image.png

    ◆不可以增加产品,可以增加产品族!

    image.png image.png

    应用场景:

    ◆JDK中Calendar的getlnstance方法(简单工厂模式)
    ◆JDBC中的Connection对象的获取
    ◆Spring中IOC容器创建管理bean对象.反射中Class对象的newInstance方法

    相关文章

      网友评论

          本文标题:设计模式——工厂设计模式

          本文链接:https://www.haomeiwen.com/subject/vtitgktx.html