You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
李千程 bcc226bae0
Update README.md:
4 months ago
src/main/java 代码文件 4 months ago
README.md Update README.md: 4 months ago

README.md

简单工厂模式实现

项目介绍

本项目实现了设计模式中的简单工厂模式Simple Factory Pattern这是一种创建型设计模式用于封装对象的创建逻辑。

设计模式说明

简单工厂模式的核心角色:

  1. 抽象产品Product - 定义产品的接口或抽象类
  2. 具体产品ConcreteProduct - 实现抽象产品接口的具体类
  3. 工厂类Factory - 负责创建具体产品实例的类

本项目中的实现:

  • Product - 产品接口定义了operation()方法
  • ConcreteProductA、ConcreteProductB - 具体产品实现
  • Factory - 工厂类通过静态方法createProduct()创建产品

项目结构

├── src/
│   └── main/
│       └── java/
│           ├── Product.java           # 产品接口
│           ├── ConcreteProductA.java   # 具体产品A
│           ├── ConcreteProductB.java   # 具体产品B
│           ├── Factory.java            # 工厂类
│           └── TestFactory.java        # 测试类
└── README.md                           # 项目说明文档

代码特点

  • 遵循SOLID设计原则特别是单一职责原则
  • 接口与实现分离,符合依赖倒置原则
  • 完善的参数验证和异常处理机制
  • 详细的JavaDoc文档注释
  • 全面的测试用例覆盖

使用示例

// 创建产品A
Product productA = Factory.createProduct("A");
productA.operation(); // 输出: ConcreteProductA 执行操作

// 创建产品B
Product productB = Factory.createProduct("B");
productB.operation(); // 输出: ConcreteProductB 执行操作

运行测试

在项目目录下执行以下命令运行测试:

cd src/main/java
javac *.java
java TestFactory

简单工厂模式的优缺点

优点:

  • 封装了对象的创建过程,客户端不需要知道如何创建对象
  • 降低了客户端与具体产品的耦合度
  • 便于统一管理对象的创建逻辑

缺点:

  • 工厂类集中了所有产品的创建逻辑,违反了开闭原则
  • 添加新产品时需要修改工厂类的代码

适用场景

  • 工厂类负责创建的对象比较少
  • 客户端只知道传入工厂类的参数,不关心如何创建对象的逻辑