单工厂模式

  1. 看一个具体的需求

image.png

  1. 使用传统的方式完成
    1. 类图
    2. image.png

工厂模式 - 图3b. 参考源码(尚硅谷-图解Java设计模式-简单工厂模式(1)-披萨订购):

  1. 传统方式的优缺点

    1. image.png
    2. 改进思路分析
      1. image.png
  2. 基本介绍

    1. 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一个产品的实例。简单工厂模式是工厂模式家族中最简单实用的模式。
    2. 简单工厂模式:定义了一个创建对象的类由这个类来封装实例化的行为(代码)
    3. 在软件开发中,当我们会大量的创建某种、某类、某批次的对象时,就会实用到工厂模式。
  3. 使用简单工厂模式
    1. 类图image.png
    2. 参考源码(尚硅谷-图解Java设计模式-简单工厂模式(2)-披萨订购):
  4. 静态 简单工厂模式 (尚硅谷-图解Java设计模式-简单工厂模式(4)-披萨订购)

    1. image.png

      工厂方法模式

  5. 看一个新的需求

    1. image.png
  6. 工厂模式方法介绍
    1. 工厂方法模式的设计方案:将披萨项目的实例化功能抽象成抽象方法。在不同口味点餐中具体实现。
    2. 工厂方法模式:定义一个创建对象的抽象方法,由子类决定实例化的类。工厂方法模式将对象的实例化推迟到子类。
  7. 工厂方法模式应用案例

    1. 类图
      1. image.png
    2. **

      抽象工厂模式

  8. 基本介绍

    1. 抽象工厂模式:定义了一个 interface 用于创建相关或由依赖关系的对象族,无需指明具体的类
    2. 抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。
    3. 从设计层面看,抽象工厂模式就是对简单工厂模式的改进(或者称为进一步的抽象)
    4. 将工厂抽象成俩层,Absfactory(抽象工厂)和具体实现的工厂子类。程序员可以根据创建对象类型 使用使用对应的工厂子类。这样将单个的简单工厂类变成了工厂族
  9. 类图
    1. image.png
  10. 抽象工厂模式应用实例(尚硅谷-图解Java设计模式-抽象工厂模式(2)-披萨订购)
  11. 工厂模式在JDK-Calendar 应用的源码分析
    1. image.png
  12. 工厂模式小结
    1. 工厂模式的定义
      1. 将实例化对象的代码提取出来,放到一个类中同意管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。
    2. 三种工厂模式(简单工厂模式、工厂模式、抽象工厂模式)
    3. 设计模式的依赖抽象原则
      • 创建对象实例是,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。有的书上说,变量不要直接持有具体类的引用。
      • 不要让继承具体类,而是继承抽象类或者是实现interface 接口
      • 不要覆盖基类中已经实现的方法**