Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

1 简单工厂

  • 定义
    由一个工厂对象决定创建出哪一种产品类的实例
  • 类型
    创建型,但不属于GOF23种设计模式
  • 官方定义

Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类


1.1 基本案例

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

1.2 JDK应用实例

日历类

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

迭代器

Collection 接口就相当于 VideoFactory

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

相当于各种具体的工厂,如 JavaVideoFactory

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Itr 就是具体产品 JavaVideo

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

工厂应用

为解决 url 协议扩展使用

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

Launcher#Factory静态类

Java架构师教你写代码(一) - 使用静态工厂方法(简单工厂)替代构造器(上)

上一篇:【程序员】什么情况下可以去单干?需要具备哪些条件?除了技术,还应该具备哪些能力?


下一篇:轻松自动化---selenium-webdriver(python) (六)