抽象工厂模式

简介

定义:提供一个接口,用于创建相关的或依赖对象的家族,而不需要明确指定具体类。

使用场景:

  • 跨平台UI组件

  • 不同数据库的访问

  • 不同操作系统的产品族

实现要点:

  • 产品族的概念

  • 工厂接口定义创建方法

  • 具体工厂创建具体产品

UML

spinner

代码示例

  1. 抽象产品

/**
 * 1. 抽象产品A - 操作系统
 */
public interface OperatingSystem {
    void boot();

    void shutdown();

    String getName();
}

/**
 * 2. 抽象产品B - 浏览器
 */
public interface Browser {
    void open();

    void close();

    String getName();
}
  1. 具体产品

  1. 抽象工厂

  1. 具体工厂

  1. 客户端

  1. 使用方式

Last updated