Update README.md:

main
李千程 4 months ago
parent 1c6d4e9155
commit bcc226bae0

@ -1,2 +1,79 @@
# factory
# 简单工厂模式实现
## 项目介绍
本项目实现了设计模式中的**简单工厂模式**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文档注释
- ✅ 全面的测试用例覆盖
## 使用示例
```java
// 创建产品A
Product productA = Factory.createProduct("A");
productA.operation(); // 输出: ConcreteProductA 执行操作
// 创建产品B
Product productB = Factory.createProduct("B");
productB.operation(); // 输出: ConcreteProductB 执行操作
```
## 运行测试
在项目目录下执行以下命令运行测试:
```bash
cd src/main/java
javac *.java
java TestFactory
```
## 简单工厂模式的优缺点
### 优点:
- 封装了对象的创建过程,客户端不需要知道如何创建对象
- 降低了客户端与具体产品的耦合度
- 便于统一管理对象的创建逻辑
### 缺点:
- 工厂类集中了所有产品的创建逻辑,违反了开闭原则
- 添加新产品时需要修改工厂类的代码
## 适用场景
- 工厂类负责创建的对象比较少
- 客户端只知道传入工厂类的参数,不关心如何创建对象的逻辑
Loading…
Cancel
Save